Fix bad revert from 547849e, refactor up next/remaining time string creation
This commit is contained in:
parent
8f57c0133f
commit
a633a6c3a3
6 changed files with 97 additions and 6 deletions
|
|
@ -32,10 +32,11 @@ import de.psdev.licensesdialog.LicensesDialog;
|
|||
@SuppressWarnings("FieldCanBeLocal")
|
||||
public class AboutActivity extends AbsBaseActivity implements View.OnClickListener {
|
||||
|
||||
private static String GITHUB = "https://github.com/kabouzeid/Phonograph";
|
||||
|
||||
private static String GOOGLE_PLUS = "https://google.com/+KarimAbouZeid23697";
|
||||
private static String TWITTER = "https://twitter.com/karim23697";
|
||||
private static String GITHUB = "https://github.com/kabouzeid";
|
||||
private static String WEBSITE = "http://kabouzeid.com/";
|
||||
private static String WEBSITE = "https://kabouzeid.com/";
|
||||
|
||||
private static String GOOGLE_PLUS_COMMUNITY = "https://plus.google.com/u/0/communities/106227738496107108513";
|
||||
private static String TRANSLATE = "https://phonograph.oneskyapp.com/collaboration/project?id=26521";
|
||||
|
|
@ -61,6 +62,8 @@ public class AboutActivity extends AbsBaseActivity implements View.OnClickListen
|
|||
LinearLayout intro;
|
||||
@BindView(R.id.licenses)
|
||||
LinearLayout licenses;
|
||||
@BindView(R.id.write_an_email)
|
||||
LinearLayout writeAnEmail;
|
||||
@BindView(R.id.add_to_google_plus_circles)
|
||||
LinearLayout addToGooglePlusCircles;
|
||||
@BindView(R.id.follow_on_twitter)
|
||||
|
|
@ -132,6 +135,7 @@ public class AboutActivity extends AbsBaseActivity implements View.OnClickListen
|
|||
forkOnGitHub.setOnClickListener(this);
|
||||
visitWebsite.setOnClickListener(this);
|
||||
reportBugs.setOnClickListener(this);
|
||||
writeAnEmail.setOnClickListener(this);
|
||||
joinGooglePlusCommunity.setOnClickListener(this);
|
||||
translate.setOnClickListener(this);
|
||||
rateOnGooglePlay.setOnClickListener(this);
|
||||
|
|
@ -180,6 +184,12 @@ public class AboutActivity extends AbsBaseActivity implements View.OnClickListen
|
|||
openUrl(WEBSITE);
|
||||
} else if (v == reportBugs) {
|
||||
startActivity(new Intent(this, BugReportActivity.class));
|
||||
} else if (v == writeAnEmail) {
|
||||
Intent intent = new Intent(Intent.ACTION_SENDTO);
|
||||
intent.setData(Uri.parse("mailto:contact@kabouzeid.com"));
|
||||
intent.putExtra(Intent.EXTRA_EMAIL, "contact@kabouzeid.com");
|
||||
intent.putExtra(Intent.EXTRA_SUBJECT, "Phonograph");
|
||||
startActivity(Intent.createChooser(intent, "E-Mail"));
|
||||
} else if (v == joinGooglePlusCommunity) {
|
||||
openUrl(GOOGLE_PLUS_COMMUNITY);
|
||||
} else if (v == translate) {
|
||||
|
|
|
|||
|
|
@ -53,6 +53,7 @@ import com.kabouzeid.gramophone.ui.activities.base.AbsSlidingMusicPanelActivity;
|
|||
import com.kabouzeid.gramophone.util.ArtistSignatureUtil;
|
||||
import com.kabouzeid.gramophone.util.NavigationUtil;
|
||||
import com.kabouzeid.gramophone.util.PhonographColorUtil;
|
||||
import com.kabouzeid.gramophone.util.PreferenceUtil;
|
||||
import com.kabouzeid.gramophone.util.Util;
|
||||
|
||||
import butterknife.BindView;
|
||||
|
|
@ -91,6 +92,7 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
private int artistImageViewHeight;
|
||||
private int toolbarColor;
|
||||
private float toolbarAlpha;
|
||||
private boolean usePalette;
|
||||
|
||||
private Artist artist;
|
||||
@Nullable
|
||||
|
|
@ -109,6 +111,7 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
supportPostponeEnterTransition();
|
||||
|
||||
lastFMRestClient = new LastFMRestClient(this);
|
||||
usePalette = PreferenceUtil.getInstance(this).albumArtistColoredFooters();
|
||||
|
||||
initViews();
|
||||
setUpObservableListViewParams();
|
||||
|
|
@ -194,7 +197,7 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
|
||||
private void setUpAlbumRecyclerView() {
|
||||
albumRecyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
|
||||
albumAdapter = new HorizontalAlbumAdapter(this, getArtist().albums, true, this);
|
||||
albumAdapter = new HorizontalAlbumAdapter(this, getArtist().albums, usePalette, this);
|
||||
albumRecyclerView.setAdapter(albumAdapter);
|
||||
albumAdapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
|
||||
@Override
|
||||
|
|
@ -205,6 +208,12 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
});
|
||||
}
|
||||
|
||||
protected void setUsePalette(boolean usePalette) {
|
||||
albumAdapter.usePalette(usePalette);
|
||||
PreferenceUtil.getInstance(this).setAlbumArtistColoredFooters(usePalette);
|
||||
this.usePalette = usePalette;
|
||||
}
|
||||
|
||||
private void reload() {
|
||||
getSupportLoaderManager().restartLoader(LOADER_ID, getIntent().getExtras(), this);
|
||||
}
|
||||
|
|
@ -309,6 +318,7 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
getMenuInflater().inflate(R.menu.menu_artist_detail, menu);
|
||||
menu.findItem(R.id.action_colored_footers).setChecked(usePalette);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -339,6 +349,10 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
Toast.makeText(ArtistDetailActivity.this, getResources().getString(R.string.updating), Toast.LENGTH_SHORT).show();
|
||||
loadArtistImage(true);
|
||||
return true;
|
||||
case R.id.action_colored_footers:
|
||||
item.setChecked(!item.isChecked());
|
||||
setUsePalette(item.isChecked());
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,8 +25,11 @@ import com.kabouzeid.appthemehelper.common.prefs.supportv7.ATEColorPreference;
|
|||
import com.kabouzeid.appthemehelper.common.prefs.supportv7.ATEPreferenceFragmentCompat;
|
||||
import com.kabouzeid.appthemehelper.util.ColorUtil;
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.appshortcuts.DynamicShortcutManager;
|
||||
import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
|
||||
import com.kabouzeid.gramophone.preferences.NowPlayingScreenPreference;
|
||||
import com.kabouzeid.gramophone.preferences.NowPlayingScreenPreferenceDialog;
|
||||
import com.kabouzeid.gramophone.service.MusicService;
|
||||
import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity;
|
||||
import com.kabouzeid.gramophone.util.NavigationUtil;
|
||||
import com.kabouzeid.gramophone.util.PreferenceUtil;
|
||||
|
|
@ -78,6 +81,10 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
|
|||
.commit();
|
||||
break;
|
||||
}
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1) {
|
||||
new DynamicShortcutManager(this).updateDynamicShortcuts();
|
||||
}
|
||||
recreate();
|
||||
}
|
||||
|
||||
|
|
@ -122,10 +129,12 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
|
|||
public void onCreatePreferences(Bundle bundle, String s) {
|
||||
addPreferencesFromResource(R.xml.pref_general);
|
||||
addPreferencesFromResource(R.xml.pref_colors);
|
||||
addPreferencesFromResource(R.xml.pref_notification);
|
||||
addPreferencesFromResource(R.xml.pref_now_playing_screen);
|
||||
addPreferencesFromResource(R.xml.pref_images);
|
||||
addPreferencesFromResource(R.xml.pref_lockscreen);
|
||||
addPreferencesFromResource(R.xml.pref_audio);
|
||||
addPreferencesFromResource(R.xml.pref_playlists);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
|
@ -171,6 +180,13 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
|
|||
ThemeStore.editTheme(getActivity())
|
||||
.activityTheme(PreferenceUtil.getThemeResFromPrefValue((String) o))
|
||||
.commit();
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1) {
|
||||
//Set the new theme so that updateAppShortcuts can pull it
|
||||
getActivity().setTheme(PreferenceUtil.getThemeResFromPrefValue((String) o));
|
||||
new DynamicShortcutManager(getActivity()).updateDynamicShortcuts();
|
||||
}
|
||||
|
||||
getActivity().recreate();
|
||||
return true;
|
||||
}
|
||||
|
|
@ -186,7 +202,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
|
|||
}
|
||||
});
|
||||
|
||||
ATEColorPreference primaryColorPref = (ATEColorPreference) findPreference("primary_color");
|
||||
final ATEColorPreference primaryColorPref = (ATEColorPreference) findPreference("primary_color");
|
||||
final int primaryColor = ThemeStore.primaryColor(getActivity());
|
||||
primaryColorPref.setColor(primaryColor, ColorUtil.darkenColor(primaryColor));
|
||||
primaryColorPref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||
|
|
@ -202,7 +218,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
|
|||
}
|
||||
});
|
||||
|
||||
ATEColorPreference accentColorPref = (ATEColorPreference) findPreference("accent_color");
|
||||
final ATEColorPreference accentColorPref = (ATEColorPreference) findPreference("accent_color");
|
||||
final int accentColor = ThemeStore.accentColor(getActivity());
|
||||
accentColorPref.setColor(accentColor, ColorUtil.darkenColor(accentColor));
|
||||
accentColorPref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||
|
|
@ -236,7 +252,50 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
|
|||
});
|
||||
}
|
||||
|
||||
Preference equalizer = findPreference("equalizer");
|
||||
final TwoStatePreference classicNotification = (TwoStatePreference) findPreference("classic_notification");
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N_MR1) {
|
||||
classicNotification.setEnabled(false);
|
||||
classicNotification.setSummary(R.string.pref_only_nougat);
|
||||
} else {
|
||||
classicNotification.setChecked(PreferenceUtil.getInstance(getActivity()).classicNotification());
|
||||
classicNotification.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
//Save preference
|
||||
PreferenceUtil.getInstance(getActivity()).setClassicNotification((Boolean)newValue);
|
||||
|
||||
final MusicService service = MusicPlayerRemote.musicService;
|
||||
if (service != null) {
|
||||
service.initNotification();
|
||||
service.updateNotification();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
final TwoStatePreference colorAppShortcuts = (TwoStatePreference) findPreference("should_color_app_shortcuts");
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N_MR1) {
|
||||
colorAppShortcuts.setEnabled(false);
|
||||
colorAppShortcuts.setSummary(R.string.pref_only_nougat_mr1);
|
||||
} else {
|
||||
colorAppShortcuts.setChecked(PreferenceUtil.getInstance(getActivity()).coloredAppShortcuts());
|
||||
colorAppShortcuts.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
//Save preference
|
||||
PreferenceUtil.getInstance(getActivity()).setColoredAppShortcuts((Boolean)newValue);
|
||||
|
||||
//Update app shortcuts
|
||||
new DynamicShortcutManager(getActivity()).updateDynamicShortcuts();
|
||||
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
final Preference equalizer = findPreference("equalizer");
|
||||
if (!hasEqualizer()) {
|
||||
equalizer.setEnabled(false);
|
||||
equalizer.setSummary(getResources().getString(R.string.no_equalizer));
|
||||
|
|
|
|||
|
|
@ -88,6 +88,10 @@ public abstract class AbsPlayerFragment extends AbsMusicServiceFragment implemen
|
|||
MusicUtil.toggleFavorite(getActivity(), song);
|
||||
}
|
||||
|
||||
protected String getUpNextAndQueueTime() {
|
||||
return getResources().getString(R.string.up_next) + " • " + MusicUtil.getReadableDurationString(MusicPlayerRemote.getQueueDurationMillis(MusicPlayerRemote.getPosition()));
|
||||
}
|
||||
|
||||
public abstract void onShow();
|
||||
|
||||
public abstract void onHide();
|
||||
|
|
|
|||
|
|
@ -198,6 +198,7 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
|
|||
|
||||
private void updateQueue() {
|
||||
playingQueueAdapter.swapDataSet(MusicPlayerRemote.getPlayingQueue(), MusicPlayerRemote.getPosition());
|
||||
playerQueueSubHeader.setText(getUpNextAndQueueTime());
|
||||
if (slidingUpPanelLayout.getPanelState() == SlidingUpPanelLayout.PanelState.COLLAPSED) {
|
||||
resetToCurrentPosition();
|
||||
}
|
||||
|
|
@ -205,6 +206,7 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
|
|||
|
||||
private void updateQueuePosition() {
|
||||
playingQueueAdapter.setCurrent(MusicPlayerRemote.getPosition());
|
||||
playerQueueSubHeader.setText(getUpNextAndQueueTime());
|
||||
if (slidingUpPanelLayout.getPanelState() == SlidingUpPanelLayout.PanelState.COLLAPSED) {
|
||||
resetToCurrentPosition();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -194,6 +194,7 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
|
|||
|
||||
private void updateQueue() {
|
||||
playingQueueAdapter.swapDataSet(MusicPlayerRemote.getPlayingQueue(), MusicPlayerRemote.getPosition());
|
||||
playerQueueSubHeader.setText(getUpNextAndQueueTime());
|
||||
if (slidingUpPanelLayout == null || slidingUpPanelLayout.getPanelState() == SlidingUpPanelLayout.PanelState.COLLAPSED) {
|
||||
resetToCurrentPosition();
|
||||
}
|
||||
|
|
@ -201,6 +202,7 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
|
|||
|
||||
private void updateQueuePosition() {
|
||||
playingQueueAdapter.setCurrent(MusicPlayerRemote.getPosition());
|
||||
playerQueueSubHeader.setText(getUpNextAndQueueTime());
|
||||
if (slidingUpPanelLayout == null || slidingUpPanelLayout.getPanelState() == SlidingUpPanelLayout.PanelState.COLLAPSED) {
|
||||
resetToCurrentPosition();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue