{"push_id":629898507,"size":31,"distinct_size":1,"ref":"refs/heads/master","head":"2a08e1869bee33604951d001046d7aae24a4956c","before":"6246d6255c24bc43c87777271cda8e2ddf5d8ad4","commits":[{"sha":"fe13543e63c5d87a7883347175eac4e01674a0ba","author":{"email":"7a9e9c5a6c7d5336e039872c78e6534d97e510e2@gmail.fake","name":"Jerry Morrison"},"message":"Add info to notification titles\n\nThis improves the helpfulness of the lock screen notifications (esp. in\nthe normal, compact form[1]) and the summary notification (since it lists\npush-notification titles).\n\nScore notification title: Add an abbreviated match name, e.g. \"Q10\".\nUpcoming match notification title: Add an abbreviated match name.\nSummary notification title: Add the push-notification count.\n\nA bit more concise for small notification areas:\n\"will be playing\" -> \"will play\",\n\"which is scheduled\" -> \"scheduled\".\n\n[1] Probably few people know they can expand notifications to see more\nlines of text, and expanding isn't great on the lock screen since it opens\nthe unlock-keypad on top.","distinct":false,"url":"https://api.github.com/repos/phil-lopreiato/the-blue-alliance-android/commits/fe13543e63c5d87a7883347175eac4e01674a0ba"},{"sha":"a72af0b22388cdb732a483c9125d9f23e41d028c","author":{"email":"7a9e9c5a6c7d5336e039872c78e6534d97e510e2@gmail.fake","name":"Jerry Morrison"},"message":"Real event names & codes for debug test notifications","distinct":false,"url":"https://api.github.com/repos/phil-lopreiato/the-blue-alliance-android/commits/a72af0b22388cdb732a483c9125d9f23e41d028c"},{"sha":"2d109b1c103fc15fa6dfbc9e8d7f9ca1669fd103","author":{"email":"7a9e9c5a6c7d5336e039872c78e6534d97e510e2@gmail.fake","name":"Jerry Morrison"},"message":"Bug fix: rotating the dev settings screen would crash\n\nEach Fragment class needs a 0-arg constructor so Android can re-instantiate\nit after rotating the screen or a similar event. A non-static inner class\nhas a hidden outer-this arg, so that doesn't work.\n\nThis commit fixes DevSettingsFragment.\n\nThe standard recommendation is to have ONLY a 0-arg constructor, but it\nseems reasonable to have other constructors that stash the args via\nFragment#setArguments(Bundle) so the 0-arg constructor can retrieve them.\n\nDoes UpdateUserModelSettingsTaskFragment() need to do that? This commit at\nleast makes it safe from NullPointerExceptions.","distinct":false,"url":"https://api.github.com/repos/phil-lopreiato/the-blue-alliance-android/commits/2d109b1c103fc15fa6dfbc9e8d7f9ca1669fd103"},{"sha":"41ca682cfafe53bcd4f365d0b92887244abc738f","author":{"email":"7a9e9c5a6c7d5336e039872c78e6534d97e510e2@gmail.fake","name":"Jerry Morrison"},"message":"Debuggability: Don't require GCM SEND permission in debug builds\n\n... so 'adb shell am broadcast' can send intents to GCMBroadcastReceiver.\n\nAlso improve the error handling of GCM JSON messages.","distinct":false,"url":"https://api.github.com/repos/phil-lopreiato/the-blue-alliance-android/commits/41ca682cfafe53bcd4f365d0b92887244abc738f"},{"sha":"94a745ef5ffcd64b819082bc8bda8f640e06942d","author":{"email":"7a9e9c5a6c7d5336e039872c78e6534d97e510e2@gmail.fake","name":"Jerry Morrison"},"message":"Fix: Level-starting notification should always use event name","distinct":false,"url":"https://api.github.com/repos/phil-lopreiato/the-blue-alliance-android/commits/94a745ef5ffcd64b819082bc8bda8f640e06942d"},{"sha":"96bc9be9c0f9440ce832fee8ea1f25b8f83f8eb3","author":{"email":"7a9e9c5a6c7d5336e039872c78e6534d97e510e2@gmail.fake","name":"Jerry Morrison"},"message":"Fix: NPE's in EventDeserializer on missing JSON fields\n\nJsonObject#get(key) returns null rather than JsonNull if the key is absent.","distinct":false,"url":"https://api.github.com/repos/phil-lopreiato/the-blue-alliance-android/commits/96bc9be9c0f9440ce832fee8ea1f25b8f83f8eb3"},{"sha":"ab29c923641b0af1067f16bc39c7f27d83a79776","author":{"email":"7a9e9c5a6c7d5336e039872c78e6534d97e510e2@gmail.fake","name":"Jerry Morrison"},"message":"Fix: consistently use eventName in ScheduleUpdatedNotification","distinct":false,"url":"https://api.github.com/repos/phil-lopreiato/the-blue-alliance-android/commits/ab29c923641b0af1067f16bc39c7f27d83a79776"},{"sha":"2f569b2b20e80cb2b853940a095601651c1870b8","author":{"email":"7a9e9c5a6c7d5336e039872c78e6534d97e510e2@gmail.fake","name":"Jerry Morrison"},"message":"Add a Python script to debug-test notifications\n\nand add .pyc files to .gitignore.","distinct":false,"url":"https://api.github.com/repos/phil-lopreiato/the-blue-alliance-android/commits/2f569b2b20e80cb2b853940a095601651c1870b8"},{"sha":"b6cd9ca6b44a031a08e2a956e3842a81c3259152","author":{"email":"7a9e9c5a6c7d5336e039872c78e6534d97e510e2@gmail.fake","name":"Jerry Morrison"},"message":"test_notification.py: Do quoting for \"Chairman's Award\"","distinct":false,"url":"https://api.github.com/repos/phil-lopreiato/the-blue-alliance-android/commits/b6cd9ca6b44a031a08e2a956e3842a81c3259152"},{"sha":"550873226ec0879a86fea2527b56535a329981b1","author":{"email":"7a9e9c5a6c7d5336e039872c78e6534d97e510e2@gmail.fake","name":"Jerry Morrison"},"message":"Add upcoming_match.py\n\nThis is a short example of calling test_notification.py.\nIt's easy to write such scripts for custom testing.\n\n(Both scripts work for testing notifications when the app is in any\nactivity, or not running, or the device is locked or sleeping.)","distinct":false,"url":"https://api.github.com/repos/phil-lopreiato/the-blue-alliance-android/commits/550873226ec0879a86fea2527b56535a329981b1"},{"sha":"f78b285fddef011fc69432fcc2ffca8ed7de08fe","author":{"email":"7a9e9c5a6c7d5336e039872c78e6534d97e510e2@gmail.fake","name":"Jerry Morrison"},"message":"README: Add info on the easy & hard ways","distinct":false,"url":"https://api.github.com/repos/phil-lopreiato/the-blue-alliance-android/commits/f78b285fddef011fc69432fcc2ffca8ed7de08fe"},{"sha":"6d15b060bbc2cff37961a7043302ad29be34441c","author":{"email":"568bc8a3055dc1566955e08df7739defbc8c8ad7@users.noreply.github.com","name":"Jerry Morrison"},"message":"Fix: Tapping a generic notification should open the app\n\nAdd test cases for \"district_points_updated\", \"ping\", and generic\n\"broadcast\" message types in test_notification.py.","distinct":false,"url":"https://api.github.com/repos/phil-lopreiato/the-blue-alliance-android/commits/6d15b060bbc2cff37961a7043302ad29be34441c"},{"sha":"ac8c8db891436f3d6cb166bcb02e8290299c8eab","author":{"email":"568bc8a3055dc1566955e08df7739defbc8c8ad7@users.noreply.github.com","name":"Jerry Morrison"},"message":"Add the event code to notification titles\n\n... to distinguish, e.g. upcoming match CASJ F1-1 from PNCMP F1-1.\n\nThis makes upcoming-match notifications and match-score notifications much\nmore useful when (1) a summary notification only shows one line per\nnotification and (2) on the lock screen which only shows one title line and\none content line (until you pull down to expand it, *if* you discover how\nto do that).","distinct":false,"url":"https://api.github.com/repos/phil-lopreiato/the-blue-alliance-android/commits/ac8c8db891436f3d6cb166bcb02e8290299c8eab"},{"sha":"aad999690083db4656f1a687ebf81ec63ffcd1c0","author":{"email":"568bc8a3055dc1566955e08df7739defbc8c8ad7@users.noreply.github.com","name":"Jerry Morrison"},"message":"Code review string resource fixes\n\n* Typeo cgm_sender_permission -> gcm_sender_permission.\n* Put match title formats in string resources.","distinct":false,"url":"https://api.github.com/repos/phil-lopreiato/the-blue-alliance-android/commits/aad999690083db4656f1a687ebf81ec63ffcd1c0"},{"sha":"44c7650e19f590aca5561b509a078531f2efd810","author":{"email":"568bc8a3055dc1566955e08df7739defbc8c8ad7@users.noreply.github.com","name":"Jerry Morrison"},"message":"Code review feedback: Use the null-or-Json-null test throughout","distinct":false,"url":"https://api.github.com/repos/phil-lopreiato/the-blue-alliance-android/commits/44c7650e19f590aca5561b509a078531f2efd810"},{"sha":"286ccbcdf555ce44a4eac850c1f251634aabd129","author":{"email":"568bc8a3055dc1566955e08df7739defbc8c8ad7@users.noreply.github.com","name":"Jerry Morrison"},"message":"UpdateUserModelSettingsTaskFragment: stash args to handle recreate\n\n(Android Studio recommends a static newInstance(settings) method instead of\nany constructors with args, but this seems simpler.)","distinct":false,"url":"https://api.github.com/repos/phil-lopreiato/the-blue-alliance-android/commits/286ccbcdf555ce44a4eac850c1f251634aabd129"},{"sha":"ae000e2b524901d1e6fbc89b5339d56dd9d88b28","author":{"email":"568bc8a3055dc1566955e08df7739defbc8c8ad7@users.noreply.github.com","name":"Jerry Morrison"},"message":"This should be safer for Fragment arguments\n\nbut I haven't found a way to get the framework to destroy & recreate this\nfragment, perhaps because it calls setRetainInstance(true).","distinct":false,"url":"https://api.github.com/repos/phil-lopreiato/the-blue-alliance-android/commits/ae000e2b524901d1e6fbc89b5339d56dd9d88b28"},{"sha":"827ebba3c3ce05913ff84d5fe63b840dfa1432a2","author":{"email":"568bc8a3055dc1566955e08df7739defbc8c8ad7@users.noreply.github.com","name":"Jerry Morrison"},"message":"Fix the test data to not use non-existent event_key \"2014ausy\"\n\n... since that can make the app crash. See #386","distinct":false,"url":"https://api.github.com/repos/phil-lopreiato/the-blue-alliance-android/commits/827ebba3c3ce05913ff84d5fe63b840dfa1432a2"},{"sha":"870c26a4d9b76032372a70f55e45bf6c882490b9","author":{"email":"568bc8a3055dc1566955e08df7739defbc8c8ad7@users.noreply.github.com","name":"Jerry Morrison"},"message":"Fix #382 auto-update Recent Notifications when a notification arrives\n\n[When adding EventBus unregister() to the fragment's onPause(), I put the\ncall to super.onPause() to the end. It's usually good to deconstruct in\nthe reverse order of construction in case there are interdependencies.]","distinct":false,"url":"https://api.github.com/repos/phil-lopreiato/the-blue-alliance-android/commits/870c26a4d9b76032372a70f55e45bf6c882490b9"},{"sha":"be2493675053e9534e1d3f9506933549ebcabe85","author":{"email":"568bc8a3055dc1566955e08df7739defbc8c8ad7@users.noreply.github.com","name":"Jerry Morrison"},"message":"Refactor replicated code to BaseNotification.getBaseBuilder()\n\nAn upcoming commit will use this to add an Extra to every notification's\ncontent intent so the receiving Activity can tell when it was launched by a\nnotification. In that case, the Activity will then dismiss stored\nnotification records.","distinct":false,"url":"https://api.github.com/repos/phil-lopreiato/the-blue-alliance-android/commits/be2493675053e9534e1d3f9506933549ebcabe85"}]}