@SuppressWarnings("deprecation") @Override protected void onCreate(Bundle savedInstanceState) { // Context. mContext = this; mSettingsActivity = this; mApp = (Common) mContext.getApplicationContext(); // Initialize SharedPreferences. sharedPreferences = this.getSharedPreferences("com.jams.music.player", Context.MODE_PRIVATE); // Set the UI theme. if (mApp.getCurrentTheme() == Common.DARK_THEME) { this.setTheme(R.style.AppThemeNoActionBar); } else { this.setTheme(R.style.AppThemeNoActionBarLight); } super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preferences); applyLollipopActionBar(); preferenceManager = this.getPreferenceManager(); // Retrieve the preferences based on their unique keys. upgradePreference = preferenceManager.findPreference("preference_key_upgrade"); appThemePreference = preferenceManager.findPreference("preference_key_app_theme"); playerColorSchemePreference = preferenceManager.findPreference("preference_key_player_color_scheme"); trackChangeAnimationPreference = preferenceManager.findPreference("preference_key_track_change_animation"); defaultScreenPreference = preferenceManager.findPreference("preference_key_startup_screen"); artistsLayoutPreference = preferenceManager.findPreference("preference_key_artists_layout"); albumArtistsLayoutPreference = preferenceManager.findPreference("preference_key_album_artists_layout"); albumsLayoutPreference = preferenceManager.findPreference("preference_key_albums_layout"); lockscreenControlsPreference = preferenceManager.findPreference("preference_key_lockscreen_controls"); albumArtStylePreference = preferenceManager.findPreference("preference_key_album_art_style"); albumArtSourcesPreference = preferenceManager.findPreference("preference_key_album_art_sources"); albumArtScanDownloadPreference = preferenceManager.findPreference("preference_key_scan_download_album_art"); defaultFolderPreference = preferenceManager.findPreference("preference_key_default_folder"); addMusicLibraryPreference = preferenceManager.findPreference("preference_key_add_music_library"); editMusicLibraryPreference = preferenceManager.findPreference("preference_key_edit_music_library"); deleteMusicLibraryPreference = preferenceManager.findPreference("preference_key_delete_music_library"); selectFoldersPreference = preferenceManager.findPreference("preference_key_select_folders"); rescanFoldersPreference = preferenceManager.findPreference("preference_key_rescan_folders"); scanFrequencyPreference = preferenceManager.findPreference("preference_key_scan_frequency"); blacklistManagerPreference = preferenceManager.findPreference("preference_key_blacklist_manager"); unblacklistAllPreference = preferenceManager.findPreference("preference_key_unblacklist_all"); scrobblingPreference = preferenceManager.findPreference("preference_key_scrobbling"); headphonesUnplugActionPreference = preferenceManager.findPreference("preference_key_headphones_unplug_action"); crossfadeTracksPreference = preferenceManager.findPreference("preference_key_crossfade_tracks"); crossfadeTracksDurationPreference = preferenceManager.findPreference("preference_key_crossfade_tracks_duration"); equalizerPreference = preferenceManager.findPreference("preference_key_equalizer_toggle"); licensesPreference = preferenceManager.findPreference("preference_key_licenses"); contactUsPreference = preferenceManager.findPreference("preference_key_contact_us"); // Set the preference icons. upgradePreference.setIcon(UIElementsHelper.getIcon(mContext, "checkmark")); appThemePreference.setIcon(UIElementsHelper.getIcon(mContext, "color_palette")); playerColorSchemePreference.setIcon(UIElementsHelper.getIcon(mContext, "color_palette_play")); trackChangeAnimationPreference.setIcon(UIElementsHelper.getIcon(mContext, "customize_screens")); defaultScreenPreference.setIcon(UIElementsHelper.getIcon(mContext, "default_screen")); artistsLayoutPreference.setIcon(UIElementsHelper.getIcon(mContext, "mic")); albumArtistsLayoutPreference.setIcon(UIElementsHelper.getIcon(mContext, "album_artists")); albumsLayoutPreference.setIcon(UIElementsHelper.getIcon(mContext, "albums")); lockscreenControlsPreference.setIcon(UIElementsHelper.getIcon(mContext, "lockscreen_controls")); addMusicLibraryPreference.setIcon(UIElementsHelper.getIcon(mContext, "add_new_library")); editMusicLibraryPreference.setIcon(UIElementsHelper.getIcon(mContext, "edit_library")); deleteMusicLibraryPreference.setIcon(UIElementsHelper.getIcon(mContext, "delete_library")); albumArtStylePreference.setIcon(UIElementsHelper.getIcon(mContext, "cover_art_icon")); albumArtSourcesPreference.setIcon(UIElementsHelper.getIcon(mContext, "album_art_source")); albumArtScanDownloadPreference.setIcon(UIElementsHelper.getIcon(mContext, "auto_cover_fetch")); defaultFolderPreference.setIcon(UIElementsHelper.getIcon(mContext, "folders_settings")); selectFoldersPreference.setIcon(UIElementsHelper.getIcon(mContext, "folders_settings")); rescanFoldersPreference.setIcon(UIElementsHelper.getIcon(mContext, "rescan")); scanFrequencyPreference.setIcon(UIElementsHelper.getIcon(mContext, "scan_frequency")); blacklistManagerPreference.setIcon(UIElementsHelper.getIcon(mContext, "manage_blacklists")); unblacklistAllPreference.setIcon(UIElementsHelper.getIcon(mContext, "unblacklist_all")); scrobblingPreference.setIcon(UIElementsHelper.getIcon(mContext, "scrobbling")); headphonesUnplugActionPreference.setIcon(UIElementsHelper.getIcon(mContext, "headphones")); crossfadeTracksPreference.setIcon(UIElementsHelper.getIcon(mContext, "crossfade_tracks")); crossfadeTracksDurationPreference.setIcon( UIElementsHelper.getIcon(mContext, "crossfade_tracks_duration")); equalizerPreference.setIcon(UIElementsHelper.getIcon(mContext, "equalizer_settings")); licensesPreference.setIcon(UIElementsHelper.getIcon(mContext, "licenses")); contactUsPreference.setIcon(UIElementsHelper.getIcon(mContext, "contact_us")); if (sharedPreferences.getBoolean("TRIAL", true) == false) { PreferenceScreen screen = getPreferenceScreen(); PreferenceCategory upgradePrefCategory = (PreferenceCategory) preferenceManager.findPreference("upgrade_pref_category"); screen.removePreference(upgradePrefCategory); } upgradePreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { // initInAppBilling(); Intent intent = new Intent(mContext, com.alium.ALMPlayer.LauncherActivity.LauncherActivity.class); intent.putExtra("UPGRADE", true); startActivity(intent); finish(); return false; } }); // Set click listeners on each preference. appThemePreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference arg0) { Intent intent = new Intent(mContext, PreferenceDialogLauncherActivity.class); intent.putExtra("INDEX", 0); startActivity(intent); return false; } }); playerColorSchemePreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference arg0) { Intent intent = new Intent(mContext, PreferenceDialogLauncherActivity.class); intent.putExtra("INDEX", 1); startActivity(intent); return false; } }); trackChangeAnimationPreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { int selectedIndex = sharedPreferences.getInt("TRACK_CHANGE_ANIMATION", 0); AlertDialog.Builder builder = new AlertDialog.Builder(mContext); builder.setTitle(R.string.track_change_animation); View layoutView = mSettingsActivity .getLayoutInflater() .inflate(R.layout.generic_message_listview_dialog_layout, null); TextView message = (TextView) layoutView.findViewById(R.id.generic_message); ListView listView = (ListView) layoutView.findViewById(R.id.generic_listview); message.setTypeface(TypefaceHelper.getTypeface(mContext, "RobotoCondensed-Light")); message.setPaintFlags( message.getPaintFlags() | Paint.ANTI_ALIAS_FLAG | Paint.SUBPIXEL_TEXT_FLAG); message.setText(R.string.track_change_animation_info); String[] values = { mSettingsActivity.getResources().getString(R.string.slide_away), mSettingsActivity.getResources().getString(R.string.zoom_out_and_slide_away), mSettingsActivity.getResources().getString(R.string.depth_transformer) }; ArrayAdapter<String> adapter = new ArrayAdapter<String>( mSettingsActivity, android.R.layout.simple_list_item_single_choice, android.R.id.text1, values); listView.setAdapter(adapter); listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE); listView.setItemChecked(selectedIndex, true); listView.setOnItemClickListener( new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int which, long arg3) { Toast.makeText(mContext, R.string.changes_saved, Toast.LENGTH_SHORT).show(); sharedPreferences.edit().putInt("TRACK_CHANGE_ANIMATION", which).commit(); mTrackChangeAnimationDialog.dismiss(); } }); builder.setView(layoutView); mTrackChangeAnimationDialog = builder.create(); mTrackChangeAnimationDialog.show(); return false; } }); defaultScreenPreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { // Get the current preference. int currentPreference = sharedPreferences.getInt("STARTUP_SCREEN", 0); AlertDialog.Builder builder = new AlertDialog.Builder(mContext); // builder.setTitle(R.string.startup_screen); builder.setSingleChoiceItems( R.array.startup_screen_items, currentPreference, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { sharedPreferences.edit().putInt("STARTUP_SCREEN", which).commit(); dialog.dismiss(); Toast.makeText(mContext, R.string.changes_saved, Toast.LENGTH_SHORT).show(); } }); builder.create().show(); return false; } }); artistsLayoutPreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { // Get the current preference. int currentPreference = sharedPreferences.getInt("ARTISTS_LAYOUT_PREF", 0); AlertDialog.Builder builder = new AlertDialog.Builder(mContext); builder.setTitle(R.string.artists_layout); builder.setSingleChoiceItems( R.array.layout_preference_items, currentPreference, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { sharedPreferences.edit().putInt("ARTISTS_LAYOUT_PREF", which).commit(); dialog.dismiss(); Toast.makeText(mContext, R.string.changes_saved, Toast.LENGTH_SHORT).show(); } }); builder.create().show(); return false; } }); albumArtistsLayoutPreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { // Get the current preference. int currentPreference = sharedPreferences.getInt("ALBUM_ARTISTS_LAYOUT_PREF", 0); AlertDialog.Builder builder = new AlertDialog.Builder(mContext); builder.setTitle(R.string.album_artists_layout); builder.setSingleChoiceItems( R.array.layout_preference_items, currentPreference, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { sharedPreferences.edit().putInt("ALBUM_ARTISTS_LAYOUT_PREF", which).commit(); dialog.dismiss(); Toast.makeText(mContext, R.string.changes_saved, Toast.LENGTH_SHORT).show(); } }); builder.create().show(); return false; } }); albumsLayoutPreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { // Get the current preference. int currentPreference = sharedPreferences.getInt("ALBUMS_LAYOUT_PREF", 0); AlertDialog.Builder builder = new AlertDialog.Builder(mContext); builder.setTitle(R.string.albums_layout); builder.setSingleChoiceItems( R.array.layout_preference_items, currentPreference, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { sharedPreferences.edit().putInt("ALBUMS_LAYOUT_PREF", which).commit(); dialog.dismiss(); Toast.makeText(mContext, R.string.changes_saved, Toast.LENGTH_SHORT).show(); } }); builder.create().show(); return false; } }); lockscreenControlsPreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { // Get the current preference. int currentPreference = sharedPreferences.getInt(Common.SHOW_LOCKSCREEN_CONTROLS, 0); AlertDialog.Builder builder = new AlertDialog.Builder(mContext); // builder.setTitle(R.string.lockscreen_controls); builder.setSingleChoiceItems( R.array.enable_disable, currentPreference, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { sharedPreferences .edit() .putInt(Common.SHOW_LOCKSCREEN_CONTROLS, which) .commit(); dialog.dismiss(); // Enable/disable the lockscreen controls for this session. try { if (which == 0) { Toast.makeText(mContext, R.string.changes_saved, Toast.LENGTH_SHORT).show(); if (sharedPreferences.getBoolean("SERVICE_RUNNING", false) == true) { mApp.getService().initRemoteControlClient(); mApp.getService() .updateRemoteControlClients(mApp.getService().getCurrentSong()); } } else if (which == 1) { if (sharedPreferences.getBoolean("SERVICE_RUNNING", false) == true) { Toast.makeText( mContext, R.string.lockscreen_controls_disabled_next_run, Toast.LENGTH_LONG) .show(); } else { Toast.makeText(mContext, R.string.changes_saved, Toast.LENGTH_SHORT) .show(); } } } catch (Exception e) { e.printStackTrace(); } } }); builder.create().show(); return false; } }); defaultFolderPreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { AlertDialog.Builder builder = new AlertDialog.Builder(mContext); builder.setTitle(R.string.default_folder_for_folders_view); builder.setMessage(R.string.default_folder_for_folders_view_info); builder.setPositiveButton( R.string.ok, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); builder.create().show(); return false; } }); addMusicLibraryPreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference arg0) { Intent intent = new Intent(mContext, PreferenceDialogLauncherActivity.class); intent.putExtra("INDEX", 13); startActivity(intent); return false; } }); editMusicLibraryPreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { Intent intent = new Intent(mContext, PreferenceDialogLauncherActivity.class); intent.putExtra("INDEX", 14); intent.putExtra("OPERATION", "EDIT"); startActivity(intent); return false; } }); deleteMusicLibraryPreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference arg0) { Intent intent = new Intent(mContext, PreferenceDialogLauncherActivity.class); intent.putExtra("INDEX", 14); intent.putExtra("OPERATION", "DELETE"); startActivity(intent); return false; } }); albumArtStylePreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference arg0) { Intent intent = new Intent(mContext, PreferenceDialogLauncherActivity.class); intent.putExtra("INDEX", 3); startActivity(intent); return false; } }); albumArtSourcesPreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference arg0) { Intent intent = new Intent(mContext, PreferenceDialogLauncherActivity.class); intent.putExtra("INDEX", 4); startActivity(intent); return false; } }); albumArtScanDownloadPreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference arg0) { // Start the service that will download album art. mContext.startService(new Intent(mContext, AutoFetchAlbumArtService.class)); return false; } }); selectFoldersPreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference arg0) { Intent intent = new Intent(mContext, PreferenceDialogLauncherActivity.class); intent.putExtra("INDEX", 5); startActivity(intent); return false; } }); rescanFoldersPreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference arg0) { // Seting the "REBUILD_LIBRARY" flag to true will force MainActivity to rescan the // folders. sharedPreferences.edit().putBoolean("REBUILD_LIBRARY", true).commit(); // Restart the app. final Intent i = getBaseContext() .getPackageManager() .getLaunchIntentForPackage(getBaseContext().getPackageName()); i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); finish(); startActivity(i); return false; } }); scanFrequencyPreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference arg0) { Intent intent = new Intent(mContext, PreferenceDialogLauncherActivity.class); intent.putExtra("INDEX", 7); startActivity(intent); return false; } }); blacklistManagerPreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference arg0) { Intent intentPDL = new Intent(mContext, PreferenceDialogLauncherActivity.class); intentPDL.putExtra("INDEX", 8); startActivity(intentPDL); String[] blacklistManagerChoices = { mContext.getResources().getString(R.string.manage_blacklisted_artists), mContext.getResources().getString(R.string.manage_blacklisted_albums), mContext.getResources().getString(R.string.manage_blacklisted_songs), mContext.getResources().getString(R.string.manage_blacklisted_playlists) }; AlertDialog.Builder builder = new AlertDialog.Builder(mContext); // Set the dialog title. builder.setTitle(R.string.blacklist_manager); builder.setItems( blacklistManagerChoices, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Bundle bundle = new Bundle(); if (which == 0) { bundle.putString("MANAGER_TYPE", "ARTISTS"); } else if (which == 1) { bundle.putString("MANAGER_TYPE", "ALBUMS"); } else if (which == 2) { bundle.putString("MANAGER_TYPE", "SONGS"); } else if (which == 3) { bundle.putString("MANAGER_TYPE", "PLAYLISTS"); } dialog.dismiss(); Intent intent = new Intent(mContext, BlacklistManagerActivity.class); intent.putExtras(bundle); startActivity(intent); } }); builder.create().show(); Intent intent = new Intent(mContext, BlacklistManagerActivity.class); startActivity(intent); return false; } }); unblacklistAllPreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference arg0) { AsyncUnblacklistAllSongsTask task = new AsyncUnblacklistAllSongsTask(); task.execute(); return false; } }); /* bluetoothControlsPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference arg0) { // TODO Auto-generated method stub return false; } }); headphonesUnplugActionPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference arg0) { // TODO Auto-generated method stub return false; } });*/ scrobblingPreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { int currentSelection = 0; if (sharedPreferences.getInt("SCROBBLING", 0) == 0) { currentSelection = 0; } else if (sharedPreferences.getInt("SCROBBLING", 0) == 1) { currentSelection = 1; } else if (sharedPreferences.getInt("SCROBBLING", 0) == 2) { currentSelection = 2; } AlertDialog.Builder builder = new AlertDialog.Builder(mContext); builder.setTitle(R.string.scrobbling); builder.setSingleChoiceItems( R.array.scrobbling_options, currentSelection, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); Toast.makeText(mContext, R.string.changes_saved, Toast.LENGTH_SHORT).show(); sharedPreferences.edit().putInt("SCROBBLING", which).commit(); } }); builder.create().show(); return false; } }); headphonesUnplugActionPreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference arg0) { // Get the current selection. int currentSelection; if (sharedPreferences.getString("UNPLUG_ACTION", "DO_NOTHING").equals("DO_NOTHING")) { currentSelection = 0; } else { currentSelection = 1; } String[] unplugActionsArray = mContext.getResources().getStringArray(R.array.headphones_unplug_actions); AlertDialog.Builder builder = new AlertDialog.Builder(mContext); builder.setTitle(R.string.headphones_unplug_action); builder.setSingleChoiceItems( unplugActionsArray, currentSelection, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); Toast.makeText(mContext, R.string.changes_saved, Toast.LENGTH_SHORT).show(); if (which == 0) { sharedPreferences.edit().putString("UNPLUG_ACTION", "DO_NOTHING").commit(); if (sharedPreferences.getBoolean("SERVICE_RUNNING", false) == true) { mApp.getService() .unregisterReceiver(mApp.getService().getHeadsetPlugReceiver()); } } else { sharedPreferences .edit() .putString("UNPLUG_ACTION", "PAUSE_MUSIC_PLAYBACK") .commit(); if (sharedPreferences.getBoolean("SERVICE_RUNNING", false) == true) { mApp.getService().registerHeadsetPlugReceiver(); } } } }); builder.create().show(); return false; } }); crossfadeTracksPreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { int currentSelection; if (sharedPreferences.getBoolean(Common.CROSSFADE_ENABLED, false) == true) { currentSelection = 0; } else { currentSelection = 1; } String[] enableDisableArray = mContext.getResources().getStringArray(R.array.enable_disable); AlertDialog.Builder builder = new AlertDialog.Builder(mContext); builder.setTitle(R.string.crossfade_tracks); builder.setSingleChoiceItems( enableDisableArray, currentSelection, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); Toast.makeText(mContext, R.string.changes_saved, Toast.LENGTH_SHORT).show(); if (which == 0) { sharedPreferences.edit().putBoolean(Common.CROSSFADE_ENABLED, true).commit(); // Enable crossfade for the current queue. if (mApp.isServiceRunning() && mApp.getService().getHandler() != null) { mApp.getService() .getHandler() .post(mApp.getService().startCrossFadeRunnable); } } else { sharedPreferences.edit().putBoolean(Common.CROSSFADE_ENABLED, false).commit(); // Disable crossfade for the current queue. if (mApp.isServiceRunning() && mApp.getService().getHandler() != null) { mApp.getService() .getHandler() .removeCallbacks(mApp.getService().startCrossFadeRunnable); mApp.getService() .getHandler() .removeCallbacks(mApp.getService().crossFadeRunnable); } } } }); builder.create().show(); return false; } }); crossfadeTracksDurationPreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { AlertDialog.Builder builder = new AlertDialog.Builder(mSettingsActivity); builder.setTitle(R.string.crossfade_duration); RelativeLayout dialogView = (RelativeLayout) mSettingsActivity .getLayoutInflater() .inflate(R.layout.dialog_crossfade_duration, null); final TextView durationText = (TextView) dialogView.findViewById(R.id.crossfade_duration_text); final SeekBar durationSeekBar = (SeekBar) dialogView.findViewById(R.id.crossfade_duration_seekbar); int currentSeekBarDuration = sharedPreferences.getInt(Common.CROSSFADE_DURATION, 5); durationSeekBar.setMax(14); durationSeekBar.setProgress(currentSeekBarDuration); durationText.setText(currentSeekBarDuration + " secs"); durationSeekBar.setOnSeekBarChangeListener( new OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { sharedPreferences .edit() .putInt(Common.CROSSFADE_DURATION, (progress + 1)) .commit(); durationText.setText((progress + 1) + " secs"); } @Override public void onStartTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } @Override public void onStopTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } }); builder.setView(dialogView); builder.setPositiveButton( R.string.ok, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int arg1) { dialog.dismiss(); Toast.makeText(mContext, R.string.changes_saved, Toast.LENGTH_SHORT).show(); } }); builder.create().show(); return false; } }); equalizerPreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { boolean currentSetting = sharedPreferences.getBoolean("EQUALIZER_ENABLED", true); int intCurrentSetting = -1; if (currentSetting == true) intCurrentSetting = 0; else intCurrentSetting = 1; AlertDialog.Builder builder = new AlertDialog.Builder(mSettingsActivity); builder.setTitle(R.string.equalizer); builder.setSingleChoiceItems( R.array.enable_disable, intCurrentSetting, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { boolean isEnabled; if (which == 0) isEnabled = true; else isEnabled = false; sharedPreferences.edit().putBoolean("EQUALIZER_ENABLED", isEnabled).commit(); Toast.makeText(mContext, R.string.changes_saved, Toast.LENGTH_SHORT).show(); if (Build.PRODUCT.contains("HTC") && which == 0) { showHTCEqualizerIssueDialog(); } if (sharedPreferences.getBoolean("SERVICE_RUNNING", false) == true && which == 0) { mApp.getService().initAudioFX(); } else if (sharedPreferences.getBoolean("SERVICE_RUNNING", false) == true && which == 1) { try { mApp.getService().getEqualizerHelper().releaseEQObjects(); } catch (Exception e) { e.printStackTrace(); } } dialog.dismiss(); } private void showHTCEqualizerIssueDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(mContext); builder.setTitle(R.string.htc_devices); builder.setMessage(R.string.htc_devices_equalizer_issue); builder.setPositiveButton( R.string.ok, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); builder.create().show(); } }); builder.create().show(); return false; } }); licensesPreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference arg0) { Intent intent = new Intent(mContext, PreferenceDialogLauncherActivity.class); intent.putExtra("INDEX", 12); startActivity(intent); return false; } }); contactUsPreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference arg0) { Intent emailIntent = new Intent( Intent.ACTION_SENDTO, Uri.fromParts("mailto", "*****@*****.**", null)); emailIntent.putExtra(Intent.EXTRA_SUBJECT, "ALMusic Player Support"); startActivity(Intent.createChooser(emailIntent, "Send email")); return false; } }); }
@SuppressWarnings("unchecked") @Override public void onCreate(Bundle savedInstanceState) { // Initialize Context and SharedPreferences. mContext = this; mApp = (Common) mContext.getApplicationContext(); // Retrieve the name/icon of the library from the arguments. libraryName = getIntent().getExtras().getString("LIBRARY_NAME"); libraryIconName = getIntent().getExtras().getString("LIBRARY_ICON"); if (getIntent().getExtras().getSerializable("SONG_IDS_HASH_SET") != null) { songDBIdsList = (HashSet<String>) getIntent().getExtras().getSerializable("SONG_IDS_HASH_SET"); } // Set the UI theme. if (mApp.getCurrentTheme() == Common.DARK_THEME) { setTheme(R.style.AppTheme); } else { setTheme(R.style.AppThemeLight); } super.onCreate(savedInstanceState); // Initialize the database helper. dbHelper = new DBAccessHelper(mContext.getApplicationContext()); // Create a set of options to optimize the bitmap memory usage. final BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; options.inJustDecodeBounds = false; options.inPurgeable = true; // Display Image Options. int defaultArt = UIElementsHelper.getIcon(mContext, "default_album_art_padded"); displayImageOptions = new DisplayImageOptions.Builder() .showImageForEmptyUri(R.drawable.default_album_art) .showImageOnFail(R.drawable.default_album_art) .showStubImage(R.drawable.transparent_drawable) .cacheInMemory(false) .cacheOnDisc(true) .decodingOptions(options) .imageScaleType(ImageScaleType.EXACTLY) .bitmapConfig(Bitmap.Config.RGB_565) .displayer(new FadeInBitmapDisplayer(400)) .delayBeforeLoading(100) .build(); // Attach tabs to the ActionBar. ActionBar actionBar = getActionBar(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); // Add the artists tab. String artistsLabel = getResources().getString(R.string.artists); Tab tab = actionBar.newTab(); tab.setText(artistsLabel); TabListener<ArtistsPickerFragment> artistsTabListener = new TabListener<ArtistsPickerFragment>(this, artistsLabel, ArtistsPickerFragment.class); tab.setTabListener(artistsTabListener); actionBar.addTab(tab); // Add the albums tab. String albumsLabel = getResources().getString(R.string.albums); tab = actionBar.newTab(); tab.setText(albumsLabel); TabListener<AlbumsPickerFragment> albumsTabListener = new TabListener<AlbumsPickerFragment>(this, albumsLabel, AlbumsPickerFragment.class); tab.setTabListener(albumsTabListener); actionBar.addTab(tab); // Add the songs tab. String songsLabel = getResources().getString(R.string.songs); tab = actionBar.newTab(); tab.setText(songsLabel); TabListener<SongsPickerFragment> songsTabListener = new TabListener<SongsPickerFragment>(this, songsLabel, SongsPickerFragment.class); tab.setTabListener(songsTabListener); actionBar.addTab(tab); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { getWindow().setBackgroundDrawable(UIElementsHelper.getGeneralActionBarBackground(mContext)); int topPadding = Common.getStatusBarHeight(mContext); View activityView = (View) findViewById(android.R.id.content); // Calculate ActionBar height TypedValue tv = new TypedValue(); int actionBarHeight = 0; if (getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) { actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data, getResources().getDisplayMetrics()); } if (activityView != null) { activityView.setPadding(0, topPadding + actionBarHeight, 0, 0); } } }