{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":35718695,"defaultBranch":"main","name":"ndk-samples","ownerLogin":"android","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-05-16T10:02:15.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/32689599?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1675438940.882487","currentOid":""},"activityList":{"items":[{"before":"ba3fd32adae1337597c8cafa501b30fa45338b26","after":"3930e390c571562b716d82c06f5e329521b94b6c","ref":"refs/heads/main","pushedAt":"2024-05-15T18:04:22.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"Remove all the unused texture code.\n\nThe app only ever draws cubemapped (environment reflection) textures.\nRemove all the 2D texture code and un-virtual the class.","shortMessageHtmlLink":"Remove all the unused texture code."}},{"before":"9400c7f4d71ea23bfb81691d27daffa6f91a5a1e","after":"ba3fd32adae1337597c8cafa501b30fa45338b26","ref":"refs/heads/main","pushedAt":"2024-05-15T00:18:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"camera:basic: don't request WRITE_EXTERNAL_STORAGE\n\nNot needed for writing to the SD card since KitKat, and the permission\nis auto-denied for targetSdkVersion 33+:\nhttps://developer.android.com/reference/android/Manifest.permission#WRITE_EXTERNAL_STORAGE\n\nThis isn't really the right way to do this though. We're supposed to do\nhttps://developer.android.com/training/data-storage/use-cases?utm_source=lint&utm_medium=lint&utm_campaign=lint#capture-image-media\n\nFixes https://github.com/android/ndk-samples/issues/1031","shortMessageHtmlLink":"camera:basic: don't request WRITE_EXTERNAL_STORAGE"}},{"before":"fc12a5cb64c4e2a6b104aea0d79260286c57c08f","after":"9400c7f4d71ea23bfb81691d27daffa6f91a5a1e","ref":"refs/heads/main","pushedAt":"2024-05-15T00:18:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"camera:texture-view: remove unused permission\n\nThis was probably copied from the other camera sample that supports\nsaving images. This one does not, and even if it did, that permission\nhasn't been needed since KitKat anyway.","shortMessageHtmlLink":"camera:texture-view: remove unused permission"}},{"before":"d5cdf10d0f518a1d322b50b3fd04e271181042e5","after":"fc12a5cb64c4e2a6b104aea0d79260286c57c08f","ref":"refs/heads/main","pushedAt":"2024-05-15T00:17:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"textured-teapot: remove dead code\n\nWhoever wrote this wrote some general purpose texture and renderer\nclasses... which they then copy pasted into each sample. This sample\nonly ever uses a cubemap texture, so delete the other paths and remove\nthe error handling code for a thing that will never happen.\n\nThe original intent was good, but it's pointless when the three teapots\nsamples (classic, textured, and image-decoder) are three samples that\ndon't share this \"common\" code. I suspect I'll merge the three at some\npoint, but I don't really like how this particular interface was shaped\nanyway, so I'll probably rewrite that when I do.","shortMessageHtmlLink":"textured-teapot: remove dead code"}},{"before":"a752703682b4ce2a5df2f3cce7749f9e58cee1b3","after":"d5cdf10d0f518a1d322b50b3fd04e271181042e5","ref":"refs/heads/main","pushedAt":"2024-05-14T21:42:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"Add missing .gitignore line.\n\nNot really sure why I started needing this, but something keeps\nrepopulating it.","shortMessageHtmlLink":"Add missing .gitignore line."}},{"before":"14641435ae3c7284b15478b86efb152dc0fee431","after":"a752703682b4ce2a5df2f3cce7749f9e58cee1b3","ref":"refs/heads/main","pushedAt":"2024-05-14T21:35:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"Really stop downgrading C++.","shortMessageHtmlLink":"Really stop downgrading C++."}},{"before":"d304b6e60d85ad8b3085876af38e17388d9e3eaa","after":"14641435ae3c7284b15478b86efb152dc0fee431","ref":"refs/heads/main","pushedAt":"2024-05-14T21:17:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"Stop downgrading C++ std.\n\nC17 and C++17 are clang's default.","shortMessageHtmlLink":"Stop downgrading C++ std."}},{"before":"335b84aede6cefa22b8d295e854e6efee449122b","after":"d304b6e60d85ad8b3085876af38e17388d9e3eaa","ref":"refs/heads/main","pushedAt":"2024-05-14T21:06:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"Remove webp demo.\n\nNot really an Android demo. This shows how to use Chrome's webp library.\nThe Android API is AImageDecoder (or the Java equivalent).","shortMessageHtmlLink":"Remove webp demo."}},{"before":"92d8a75a504d7921296d669a504792e45c0d571a","after":"335b84aede6cefa22b8d295e854e6efee449122b","ref":"refs/heads/main","pushedAt":"2024-05-14T19:14:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"Remove display-p3 sample.\n\nThis teaches you how to do things you should not do. It shouldn't be\ntransforming the color space on the CPU at load time, it should be doing\nit in a shader.\n\nhttps://github.com/android/ndk-samples/issues/1052 is what we should\nreplace this with, but this is doing more harm than good, so just delete\nit for now.","shortMessageHtmlLink":"Remove display-p3 sample."}},{"before":"c2fa4af5b69146aabb9dc28a2495dc9b8303b4af","after":"92d8a75a504d7921296d669a504792e45c0d571a","ref":"refs/heads/main","pushedAt":"2024-05-14T17:31:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"Add an ARCHITECTURE.md.","shortMessageHtmlLink":"Add an ARCHITECTURE.md."}},{"before":"fe5495d8dd282457a45443f365e4ab0564b97993","after":"c2fa4af5b69146aabb9dc28a2495dc9b8303b4af","ref":"refs/heads/main","pushedAt":"2024-05-14T17:17:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"camera:basic: fail if permissions are not granted\n\nPre-work for https://github.com/android/ndk-samples/issues/1031. For\nsome reason the UI for the storage permission isn't shown whenever\ntargetSdkVersion is 33+, and it's just returning a denial. This sample\nis badly structured such that if either permission isn't granted, the UI\ninit will never run. The two permissions requests really ought to be\ndecoupled (the viewfinder should still work even if I never try to save\na photo), and the UI should tell the user why it failed. For now I'm\njust making it fail more violently, because the lack of any error or\nlogging is what made this a multi-hour debugging experience instead of\nthe now obvious problem.","shortMessageHtmlLink":"camera:basic: fail if permissions are not granted"}},{"before":"587ec9613a64d070632822ab772e1bc5a0eb63d8","after":"fe5495d8dd282457a45443f365e4ab0564b97993","ref":"refs/heads/main","pushedAt":"2024-05-14T17:14:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"Fix the build workflow to actually run on push.\n\n`[ main develop ]` is not a list of \"main\" and \"develop\", it's a list of\n\"main develop\". There is no branch named \"main develop\". This has been\nwrong since it was originally checked in a few years ago, so checks just\nhave not been running on push.\n\nThe branch filtering is totally unnecessary. Just remove it.\n\nThis, it turns out, is the real reason that the badge shows \"no status\".\nIt's right. This build has never run, so there is no status yet.","shortMessageHtmlLink":"Fix the build workflow to actually run on push."}},{"before":"522c570fe7028281fdcba97b1c65dccc2d3fa62f","after":"587ec9613a64d070632822ab772e1bc5a0eb63d8","ref":"refs/heads/main","pushedAt":"2024-05-13T22:53:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"Warn about production quality in the readme.\n\nWe should fix this, but for now let's be honest.","shortMessageHtmlLink":"Warn about production quality in the readme."}},{"before":"9466ee418d244b577c481bead14480f21aa60664","after":"522c570fe7028281fdcba97b1c65dccc2d3fa62f","ref":"refs/heads/main","pushedAt":"2024-05-13T22:38:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"Improve the README.\n\nSome of this is quite old. Links to YouTube videos from 2015 and\nwebsites that don't exist any more aren't so useful. Update and\nrearrange.\n\nStill lacking is an ARCHITECTURE.md that explains the repo layout. I'll\ndo that next.","shortMessageHtmlLink":"Improve the README."}},{"before":"170abdbadb8521faa12c7a70388266397c17f59d","after":"9466ee418d244b577c481bead14480f21aa60664","ref":"refs/heads/main","pushedAt":"2024-05-13T22:07:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"Really fix the status badge.\n\nIt was wrong twice before (path and workflow name). I only fixed the\nworkflow name last time. Also add the missing \"actions\" path component.","shortMessageHtmlLink":"Really fix the status badge."}},{"before":"b8a54f86a6bb90fbbd5c11efb0a12cbaaa33d8d5","after":"170abdbadb8521faa12c7a70388266397c17f59d","ref":"refs/heads/main","pushedAt":"2024-05-13T21:05:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"Disable mdformat check.\n\nmdformat is a jerk and wants to change the case of links. I'll be back\nto re-apply prettier if we think we need it.","shortMessageHtmlLink":"Disable mdformat check."}},{"before":"de5f0f98628d850f13236738cb9c7a04310811d5","after":"b8a54f86a6bb90fbbd5c11efb0a12cbaaa33d8d5","ref":"refs/heads/main","pushedAt":"2024-05-13T18:49:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"Update CMake behaviors.\n\nThe version here is like Android's targetSdkVersion: it controls bug\ncompatibility sorts of things. Bump it up to the CMake version we're\nusing so we get the modern behaviors.","shortMessageHtmlLink":"Update CMake behaviors."}},{"before":"8dd0c7c4c0548737ebbddda2946b71f53456d519","after":"de5f0f98628d850f13236738cb9c7a04310811d5","ref":"refs/heads/main","pushedAt":"2024-05-13T18:34:10.000Z","pushType":"pr_merge","commitsCount":7,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"Upgrade kotlinx.coroutines.","shortMessageHtmlLink":"Upgrade kotlinx.coroutines."}},{"before":"124e649b4eb7412790f89a3e58b270a6ba4b95d9","after":"8dd0c7c4c0548737ebbddda2946b71f53456d519","ref":"refs/heads/main","pushedAt":"2024-05-13T18:34:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"Fix status badge.","shortMessageHtmlLink":"Fix status badge."}},{"before":"b937504bd2e0e21787ac0f679e3b6f9385659e56","after":"124e649b4eb7412790f89a3e58b270a6ba4b95d9","ref":"refs/heads/main","pushedAt":"2024-05-13T14:52:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"Stop downgrading CMake.\n\nThis might have been an upgrade when it was added, but AGP defaults to\nsomething newer now.","shortMessageHtmlLink":"Stop downgrading CMake."}},{"before":"2917c244a7490309fa29c891a31ca970eda8f2c2","after":"b937504bd2e0e21787ac0f679e3b6f9385659e56","ref":"refs/heads/main","pushedAt":"2024-05-13T14:51:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"Remove no-op build option.\n\nAGP uses the latest available by default, which is what we want.","shortMessageHtmlLink":"Remove no-op build option."}},{"before":"2afdced1976a990cba3f00ef634aca9156529b5b","after":"2917c244a7490309fa29c891a31ca970eda8f2c2","ref":"refs/heads/main","pushedAt":"2024-05-13T14:51:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"Move the fast part of the \"build\" sooner.\n\nI'm tired of waiting for the build to finish only to learn that my\nmarkdown isn't markdowny enough.","shortMessageHtmlLink":"Move the fast part of the \"build\" sooner."}},{"before":"f916bbfa6dfc1006875d9569f7a715248a0360e9","after":"2afdced1976a990cba3f00ef634aca9156529b5b","ref":"refs/heads/main","pushedAt":"2024-05-09T22:00:23.000Z","pushType":"pr_merge","commitsCount":29,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"Migrate webp-view to convention plugin.","shortMessageHtmlLink":"Migrate webp-view to convention plugin."}},{"before":"2797a625df9ff167d15aa5a10cd7ee3e72fc7e31","after":"f916bbfa6dfc1006875d9569f7a715248a0360e9","ref":"refs/heads/main","pushedAt":"2024-05-09T21:38:34.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"Migrate exceptions to convention plugin.","shortMessageHtmlLink":"Migrate exceptions to convention plugin."}},{"before":"1667d98d267570945c7f971b6ab549154a338c05","after":"2797a625df9ff167d15aa5a10cd7ee3e72fc7e31","ref":"refs/heads/main","pushedAt":"2024-05-09T21:04:37.000Z","pushType":"pr_merge","commitsCount":8,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"audio-echo: cleanup and upgrade dependencies.\n\nWe don't have any JARs, so that's gone.\n\nappcompat is defined by the version catalog, so switch to that. The\ncatalog does define 1.6.1 right now, so this is also an upgrade.","shortMessageHtmlLink":"audio-echo: cleanup and upgrade dependencies."}},{"before":"87b1ece9acadabe83a83cf02dcc28bda13fbf3f3","after":"1667d98d267570945c7f971b6ab549154a338c05","ref":"refs/heads/main","pushedAt":"2024-05-09T20:39:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"Fix name of sensor-graph module.\n\nApparently include fails silently, so this was just absent from the\nbuild.\n\nThe warning flag change is only needed now because we weren't previously\nbuilding non-default (debug) configurations. Now we are, and that\nproblem has always been present.","shortMessageHtmlLink":"Fix name of sensor-graph module."}},{"before":"2b505ec96d5a4df433820926ba2a3ed834ba86a2","after":"87b1ece9acadabe83a83cf02dcc28bda13fbf3f3","ref":"refs/heads/main","pushedAt":"2024-05-09T20:36:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"Remove unused gradle stuff in child projects.\n\nNone of these are used now that the top level one exists.\n\nhttps://github.com/android/ndk-samples/issues/1010","shortMessageHtmlLink":"Remove unused gradle stuff in child projects."}},{"before":"ae2c67f4bba3b9ec0c64f2521d7c0e2df0c85ea1","after":"2b505ec96d5a4df433820926ba2a3ed834ba86a2","ref":"refs/heads/main","pushedAt":"2024-05-09T18:39:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"Remove unindexed packaging.yaml files.\n\nThe service that reads these now only reads the top level one.","shortMessageHtmlLink":"Remove unindexed packaging.yaml files."}},{"before":"34591643d9c54943e37680e9132d145d37d9de9b","after":"ae2c67f4bba3b9ec0c64f2521d7c0e2df0c85ea1","ref":"refs/heads/main","pushedAt":"2024-05-07T22:45:13.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"Add top level .google/packaging.yaml.\n\nI haven't removed all the child packaging files yet because this can't\nbe fully driven from this end. There's a service that reads these that\nneeds its index updated to read this instead of all the children first.\nI'll be back to clean those up once that's been done.\n\nhttps://github.com/android/ndk-samples/issues/1010","shortMessageHtmlLink":"Add top level .google/packaging.yaml."}},{"before":"3a63f16d84701e149f56b1aa9b9af9e84d6b6473","after":"34591643d9c54943e37680e9132d145d37d9de9b","ref":"refs/heads/main","pushedAt":"2024-05-07T22:24:10.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"DanAlbert","name":"Dan Albert","path":"/DanAlbert","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/315852?s=80&v=4"},"commit":{"message":"Downgrade Kotlin in hello-vulkan to match others.\n\nThe Kotlin use here is trivial (it might actually be better to make all\nthe NativeActivity-esque samples Java, since it's fewer dependencies and\nless stuff in the APK, which I expect games typically want). I'll\nupgrade the whole repo to something actually modern once I can do it as\na batch as opposed to repo by repo. I need all the kotlin versions\nmatching before I can do that though, and everything else is on 1.7.21.","shortMessageHtmlLink":"Downgrade Kotlin in hello-vulkan to match others."}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAESthu7wA","startCursor":null,"endCursor":null}},"title":"Activity ยท android/ndk-samples"}