{"push_id":839739917,"size":478,"distinct_size":0,"ref":"refs/heads/develop","head":"64494c8fc9ee2aa178b9f1b35d39ab1e8edf9957","before":"34b7093d69bbbd0b98f3f5c4caa91f1a2a47fb44","commits":[{"sha":"7095fa78436c821f274c92550d97ebbb196409f9","author":{"email":"34b0c518d53bb2b0ec1b269b83d75e162869655d@gmail.com","name":"Kurt Aaholst"},"message":"Basic LMS alarm support\n\n- View alarms\n- Change alarm properties\n- Add alarm\n- Delete alarm\n- Set alarm preferences for player","distinct":false,"url":"https://api.github.com/repos/stefandb/android-squeezer/commits/7095fa78436c821f274c92550d97ebbb196409f9"},{"sha":"6c617d420911599cb3e10ca9f330a4fa1d9a82c9","author":{"email":"9f210bbd62dc30b7ba6fb21f85df5244526c4049@ngo.org.uk","name":"Nik Clayton"},"message":"Correct a method name in a log string.","distinct":false,"url":"https://api.github.com/repos/stefandb/android-squeezer/commits/6c617d420911599cb3e10ca9f330a4fa1d9a82c9"},{"sha":"fca9d3367bef5a860f2b5a256f02980cc0306a9d","author":{"email":"34b0c518d53bb2b0ec1b269b83d75e162869655d@gmail.com","name":"Kurt Aaholst"},"message":"Merge branch 'alarm-clock' of github.com:kaaholst/android-squeezer into alarm-clock\n\nConflicts:\n\tSqueezer/src/main/java/uk/org/ngo/squeezer/NowPlayingFragment.java\n\tSqueezer/src/main/java/uk/org/ngo/squeezer/Util.java","distinct":false,"url":"https://api.github.com/repos/stefandb/android-squeezer/commits/fca9d3367bef5a860f2b5a256f02980cc0306a9d"},{"sha":"7056c4f3bd7994c452275073cde8c068d6c45221","author":{"email":"34b0c518d53bb2b0ec1b269b83d75e162869655d@gmail.com","name":"Kurt Aaholst"},"message":"Merge branch 'develop' into alarm-clock\n\nConflicts:\n\tSqueezer/src/main/java/uk/org/ngo/squeezer/framework/BaseActivity.java\n\tSqueezer/src/main/java/uk/org/ngo/squeezer/service/SqueezeService.java\n\tSqueezer/src/main/res/values/colors.xml","distinct":false,"url":"https://api.github.com/repos/stefandb/android-squeezer/commits/7056c4f3bd7994c452275073cde8c068d6c45221"},{"sha":"d1c44340b2c81d4c0ada6303c0580eb985be14fa","author":{"email":"34b0c518d53bb2b0ec1b269b83d75e162869655d@gmail.com","name":"Kurt Aaholst"},"message":"Set onChangeCheckedListner after onRestoreInstanceState\n\nTo make it obvious that we only wan't user changes to propagate to LMS, we\nset the buttons onCheckedChangeListener in onPostCreate, instead of implicitly\nafter the we call the wrapper's setCecked when we receive the value from LMS.\n\nSigned-off-by: Kurt Aaholst <kaaholst@gmail.com>","distinct":false,"url":"https://api.github.com/repos/stefandb/android-squeezer/commits/d1c44340b2c81d4c0ada6303c0580eb985be14fa"},{"sha":"5bcdd811b6ee49df4c0f4183125461332f2139ce","author":{"email":"34b0c518d53bb2b0ec1b269b83d75e162869655d@gmail.com","name":"Kurt Aaholst"},"message":"Disable edit of unknown alarm preferences\n\nDisable the view until the preference is received from LMS, so it can't be\nchanged until the current value is known.","distinct":false,"url":"https://api.github.com/repos/stefandb/android-squeezer/commits/5bcdd811b6ee49df4c0f4183125461332f2139ce"},{"sha":"882c795399fe444f2a7e510ac9569f8f33c86e55","author":{"email":"9f210bbd62dc30b7ba6fb21f85df5244526c4049@ngo.org.uk","name":"Nik Clayton"},"message":"Merge branch 'develop' of https://github.com/nikclayton/android-squeezer into develop","distinct":false,"url":"https://api.github.com/repos/stefandb/android-squeezer/commits/882c795399fe444f2a7e510ac9569f8f33c86e55"},{"sha":"4a1a9ebd84b88e5e343534528fc0b110a08e06f2","author":{"email":"9f210bbd62dc30b7ba6fb21f85df5244526c4049@ngo.org.uk","name":"Nik Clayton"},"message":"WIP: Support different themes for the UI.\n\nStart by supporting the existing \"Theme.AppCompat\" and\n\"Theme.AppCompat.Light.DarkActionBar\" themes.\n\n- Implement a preference for the user's choice of theme (\"squeezer.theme\")\n  and a ListPreference in the UI to show it to the user.\n\n- Update BaseActivity to deal with theme changes at runtime.\n\n- Add drawables for holo light versions of the AV player controls.\n\n- Use styleable attributes to refer to the drawables, and update everything\n  that referred to the drawable to use the attribute instead, so that the\n  the drawable appropriate for the theme is used.","distinct":false,"url":"https://api.github.com/repos/stefandb/android-squeezer/commits/4a1a9ebd84b88e5e343534528fc0b110a08e06f2"},{"sha":"c1c4a2e965d82331367d97d81296763987e20983","author":{"email":"9f210bbd62dc30b7ba6fb21f85df5244526c4049@ngo.org.uk","name":"Nik Clayton"},"message":"Ensure the actionbar spinner drop downs follow the applied theme.\n\nPrior to this change they had the incorrect colour on the light +\ndark action bar theme.\n\n- Adjust Util.getSpinnerItemView and getActionBarSpinnerItemView to\n  take a Context parameter instead of an Activity. Use the context to\n  fetch the layout inflater. This ensures the layout inflater uses the\n  correct theme.\n\n- Pass the ArrayAdapter's context as the parameter for the actionbar.\n\nAs the ArrayAdapter's context comes from actionBar.getThemedContext()\nthis ensures that the correct theme is used.","distinct":false,"url":"https://api.github.com/repos/stefandb/android-squeezer/commits/c1c4a2e965d82331367d97d81296763987e20983"},{"sha":"5d81de74343d9d0f780a9a9fff97b14e6912bc60","author":{"email":"9f210bbd62dc30b7ba6fb21f85df5244526c4049@ngo.org.uk","name":"Nik Clayton"},"message":"Refactor theme management code for ease of use with other activities.\n\n- Move the code in to its own ThemeManager class.\n\n- Call the ThemeManager from SettingsActivity so it follows the theme.","distinct":false,"url":"https://api.github.com/repos/stefandb/android-squeezer/commits/5d81de74343d9d0f780a9a9fff97b14e6912bc60"},{"sha":"4c4a6f90dfac0fb1989be948d237811d0612e037","author":{"email":"9f210bbd62dc30b7ba6fb21f85df5244526c4049@ngo.org.uk","name":"Nik Clayton"},"message":"Style the current playlist list correctly.\n\n- Highlight the currently playing item using abc_light_pressed_*\n  drawables from appcompat.v7.\n\n- Use the normal android background colour for un-highlighted items.\n\nThis uses the correct colours for the selected style.","distinct":false,"url":"https://api.github.com/repos/stefandb/android-squeezer/commits/4c4a6f90dfac0fb1989be948d237811d0612e037"},{"sha":"59ba0b87b942f0e4012cf4c6da8b4bcc43301008","author":{"email":"9f210bbd62dc30b7ba6fb21f85df5244526c4049@ngo.org.uk","name":"Nik Clayton"},"message":"Move the Theme enum and default values into the ThemeManager.","distinct":false,"url":"https://api.github.com/repos/stefandb/android-squeezer/commits/59ba0b87b942f0e4012cf4c6da8b4bcc43301008"},{"sha":"d8fa82ca20df3274a346427fb09b4299ec1b0fd3","author":{"email":"9f210bbd62dc30b7ba6fb21f85df5244526c4049@ngo.org.uk","name":"Nik Clayton"},"message":"WIP: Start working on an ExpandableListView to show groups of players.\n\n- Create PlayerListAdapter to hold information about groups of players.\n\n- Create item_list_players.xml to show player groups.\n\n- Update PlayerListActivity to use both of these.\n\n- Add a callback method to IServicePlayersCallback when player sync groups\n  change.\n\nMuch still to be done -- this doesn't work yet. There's no integration with\nthe server.","distinct":false,"url":"https://api.github.com/repos/stefandb/android-squeezer/commits/d8fa82ca20df3274a346427fb09b4299ec1b0fd3"},{"sha":"8b276e5bf6a120228df037b6831d103dff921cff","author":{"email":"9f210bbd62dc30b7ba6fb21f85df5244526c4049@ngo.org.uk","name":"Nik Clayton"},"message":"WIP: Display all players in an ExpandableListView.\n\n- Initial work to support fetching the list of sync. groups from the server.\n  SqueezeService can send and parse the request, and ConnectionState can now\n  track this information. This is provided in onPlayersChanged callbacks.\n\n- Introduce model/PlayerSyncGroup to hold the sync group information.\n\n- Change PlayerListActivity to extend ItemListActivity instead of\n  BaseListActivity<Player>, as BaseListActivity makes assumptions that don't\n  hold.\n\n- Extend PlayerListAdapter, and start managing the child adapters properly.\n  Flesh out the various get*() methods so that PlayerListActivity can\n  show all the active players.","distinct":false,"url":"https://api.github.com/repos/stefandb/android-squeezer/commits/8b276e5bf6a120228df037b6831d103dff921cff"},{"sha":"151b6fb2c8752f72d9a94138707673d4c68f2f6f","author":{"email":"34b0c518d53bb2b0ec1b269b83d75e162869655d@gmail.com","name":"Kurt Aaholst"},"message":"Merge branch 'develop' into alarm-clock","distinct":false,"url":"https://api.github.com/repos/stefandb/android-squeezer/commits/151b6fb2c8752f72d9a94138707673d4c68f2f6f"},{"sha":"1e17600ddb63f6ed00653a2d5e8e532591e72ce6","author":{"email":"9f210bbd62dc30b7ba6fb21f85df5244526c4049@ngo.org.uk","name":"Nik Clayton"},"message":"Ensure the text on the volume display panel is legible.\n\nAs the panel always has a dark background ensure that the text colour\nis Android's primary/secondary colours for dark backgrounds.\n\nWithout this the theme-specific colours are chosen, and when the theme\nis Light.DarkActionBar the theme colour is black/dark-grey.","distinct":false,"url":"https://api.github.com/repos/stefandb/android-squeezer/commits/1e17600ddb63f6ed00653a2d5e8e532591e72ce6"},{"sha":"0e2bdb913da3573675e8826a1af14b9d3f6b46fe","author":{"email":"34b0c518d53bb2b0ec1b269b83d75e162869655d@gmail.com","name":"Kurt Aaholst"},"message":"Put AlarmsActivity on top if its already running.\n\ninstead of creating a new instance.\n\nAs it is a bad experience to create multiple instances of the AlarmsActivity.\n\nSigned-off-by: Kurt Aaholst <kaaholst@gmail.com>","distinct":false,"url":"https://api.github.com/repos/stefandb/android-squeezer/commits/0e2bdb913da3573675e8826a1af14b9d3f6b46fe"},{"sha":"9c7e3ed7305fa8dc39e59f4d68964921c26cee14","author":{"email":"34b0c518d53bb2b0ec1b269b83d75e162869655d@gmail.com","name":"Kurt Aaholst"},"message":"Don't show the actionbar item to go to alarms if\n\nin AlarmsActivity","distinct":false,"url":"https://api.github.com/repos/stefandb/android-squeezer/commits/9c7e3ed7305fa8dc39e59f4d68964921c26cee14"},{"sha":"7ca372d0e32a7559d2b0382ae43395ef71239453","author":{"email":"9f210bbd62dc30b7ba6fb21f85df5244526c4049@ngo.org.uk","name":"Nik Clayton"},"message":"WIP: More work on player sync groups. Bugs remain (see XXX comments).\n\n- Use the syncmaster / syncslaves attributes of Players, instead of the\n  syncgroups command. This keeps all the information tied to the Players\n  instead of having to fetch additional data from the server.\n\n- Change PlayerListAdapter::updatePlayers() to use this information to\n  construct the groups for the expandable list.\n\n- Make the list of players in the expandable list stable by using their\n  MAC address ID, converted to a long, as the child ID. Introduce a utility\n  method to do the conversion, with a test.\n\n- Add a specific view for the group header of players, with a minimum\n  height.\n\n- Instead of the service keeping track of a single PlayerState for the\n  active player, make PlayerState a member of each Player\n\n- Track the player's syncmaster and syncslaves in the PlayerState.\n\n- Adjust all the PlayerState::set*() methods to return a boolean indicating\n  whether or not the value was changed. Use this in the service to determine\n  wether to call each specific callback.\n\n- Track all the seen players in a Map in ConnectionState. Add methods to\n  modify the map as appropriate.\n\n- Delete the IServicePlayersCallback::onSyncGroupsChanged() method, and\n  the ISqueezeService::syncgroups() method.","distinct":false,"url":"https://api.github.com/repos/stefandb/android-squeezer/commits/7ca372d0e32a7559d2b0382ae43395ef71239453"},{"sha":"8a3a4fe5d7464e04b9b9940c72953f7e3fdc0b16","author":{"email":"34b0c518d53bb2b0ec1b269b83d75e162869655d@gmail.com","name":"Kurt Aaholst"},"message":"Animate delete alarm","distinct":false,"url":"https://api.github.com/repos/stefandb/android-squeezer/commits/8a3a4fe5d7464e04b9b9940c72953f7e3fdc0b16"}]}