Search in sources :

Example 1 with OnPreferenceClickListener

use of android.preference.Preference.OnPreferenceClickListener in project JamsMusicPlayer by psaravan.

the class SettingsActivity____ method onCreate.

@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);
    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");
    chooseGooglePlayMusicAccountPreference = preferenceManager.findPreference("preference_key_google_play_music_account");
    getPinnedSongsPreference = preferenceManager.findPreference("preference_key_get_pinned_songs");
    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"));
    getPinnedSongsPreference.setIcon(UIElementsHelper.getIcon(mContext, "pin_settings"));
    chooseGooglePlayMusicAccountPreference.setIcon(UIElementsHelper.getIcon(mContext, "accounts"));
    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.jams.music.player.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;
        }
    });
    chooseGooglePlayMusicAccountPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() {

        @Override
        public boolean onPreferenceClick(Preference arg0) {
            final AccountManager accountManager = AccountManager.get(mContext);
            final Account[] accounts = accountManager.getAccounts();
            final int size = accounts.length;
            final String[] accountNames = new String[size + 1];
            accountNames[0] = "Don't use Google Play Music";
            //Create a new array with a list of all account names on the device.
            for (int i = 0; i < accounts.length; i++) {
                accountNames[i + 1] = accounts[i].name;
            }
            //Get the current account name (if it exists) and get the index of the account name.
            String currentAccountName = sharedPreferences.getString("GOOGLE_PLAY_MUSIC_ACCOUNT", "");
            int accountIndex = -1;
            if (!currentAccountName.isEmpty()) {
                for (int i = 0; i < accounts.length; i++) {
                    if (currentAccountName.equals(accountNames[i + 1])) {
                        accountIndex = i + 1;
                    }
                }
            } else {
                accountIndex = 0;
            }
            //Display a list of all accounts that are currently on the device.
            AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
            builder.setTitle(R.string.select_google_account);
            builder.setSingleChoiceItems(accountNames, accountIndex, new OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int position) {
                    if (position != 0) {
                        //Start the sign-in process.
                        Toast.makeText(mContext, R.string.signing_in_dot_dot_dot, Toast.LENGTH_SHORT).show();
                        sharedPreferences.edit().putString("GOOGLE_PLAY_MUSIC_ACCOUNT", accountNames[position]).commit();
                        AsyncGoogleMusicAuthenticationTask task = new AsyncGoogleMusicAuthenticationTask(mContext.getApplicationContext(), mSettingsActivity, false, accountNames[position]);
                        task.execute();
                    } else {
                        Toast.makeText(mContext, R.string.google_play_music_disabled, Toast.LENGTH_SHORT).show();
                        sharedPreferences.edit().putBoolean("GOOGLE_PLAY_MUSIC_ENABLED", false).commit();
                        sharedPreferences.edit().putString("GOOGLE_PLAY_MUSIC_ACCOUNT", "").commit();
                        //Restart the app.
                        final Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName());
                        i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                        finish();
                        startActivity(i);
                    }
                    dialog.dismiss();
                }
            });
            AlertDialog dialog = builder.create();
            dialog.show();
            return false;
        }
    });
    getPinnedSongsPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() {

        @Override
        public boolean onPreferenceClick(Preference arg0) {
            mApp.queueSongsToPin(true, false, null);
            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 intent = new Intent(mContext, PreferenceDialogLauncherActivity.class);
				intent.putExtra("INDEX", 8);
				startActivity(intent);*/
            /*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", "jamsmusicplayer@gmail.com", null));
            emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Jams Music Player Support");
            startActivity(Intent.createChooser(emailIntent, "Send email"));
            return false;
        }
    });
}
Also used : AlertDialog(android.app.AlertDialog) PreferenceScreen(android.preference.PreferenceScreen) DialogInterface(android.content.DialogInterface) AsyncGoogleMusicAuthenticationTask(com.jams.music.player.AsyncTasks.AsyncGoogleMusicAuthenticationTask) OnSeekBarChangeListener(android.widget.SeekBar.OnSeekBarChangeListener) OnPreferenceClickListener(android.preference.Preference.OnPreferenceClickListener) ListView(android.widget.ListView) TextView(android.widget.TextView) OnItemClickListener(android.widget.AdapterView.OnItemClickListener) SeekBar(android.widget.SeekBar) Intent(android.content.Intent) View(android.view.View) AdapterView(android.widget.AdapterView) TextView(android.widget.TextView) ListView(android.widget.ListView) Paint(android.graphics.Paint) BlacklistManagerActivity(com.jams.music.player.BlacklistManagerActivity.BlacklistManagerActivity) PreferenceCategory(android.preference.PreferenceCategory) Preference(android.preference.Preference) RelativeLayout(android.widget.RelativeLayout) OnClickListener(android.content.DialogInterface.OnClickListener) AdapterView(android.widget.AdapterView) AccountManager(android.accounts.AccountManager) ArrayAdapter(android.widget.ArrayAdapter)

Example 2 with OnPreferenceClickListener

use of android.preference.Preference.OnPreferenceClickListener in project android by nextcloud.

the class Preferences method setupImprintPreference.

private void setupImprintPreference(PreferenceCategory preferenceCategoryMore) {
    boolean imprintEnabled = getResources().getBoolean(R.bool.imprint_enabled);
    Preference pImprint = findPreference("imprint");
    if (pImprint != null) {
        if (imprintEnabled) {
            pImprint.setOnPreferenceClickListener(new OnPreferenceClickListener() {

                @Override
                public boolean onPreferenceClick(Preference preference) {
                    String imprintWeb = getString(R.string.url_imprint);
                    if (imprintWeb != null && imprintWeb.length() > 0) {
                        Uri uriUrl = Uri.parse(imprintWeb);
                        Intent intent = new Intent(Intent.ACTION_VIEW, uriUrl);
                        startActivity(intent);
                    }
                    // ImprintDialog.newInstance(true).show(preference.get, "IMPRINT_DIALOG");
                    return true;
                }
            });
        } else {
            preferenceCategoryMore.removePreference(pImprint);
        }
    }
}
Also used : OnPreferenceClickListener(android.preference.Preference.OnPreferenceClickListener) ListPreference(android.preference.ListPreference) Preference(android.preference.Preference) SwitchPreference(android.preference.SwitchPreference) Intent(android.content.Intent) Uri(android.net.Uri)

Example 3 with OnPreferenceClickListener

use of android.preference.Preference.OnPreferenceClickListener in project android by nextcloud.

the class Preferences method setupAutoUploadCategory.

private void setupAutoUploadCategory(int accentColor, PreferenceScreen preferenceScreen) {
    PreferenceCategory preferenceCategorySyncedFolders = (PreferenceCategory) findPreference("synced_folders_category");
    preferenceCategorySyncedFolders.setTitle(ThemeUtils.getColoredTitle(getString(R.string.drawer_synced_folders), accentColor));
    if (!getResources().getBoolean(R.bool.syncedFolder_light)) {
        preferenceScreen.removePreference(preferenceCategorySyncedFolders);
    } else {
        // Upload on WiFi
        final ArbitraryDataProvider arbitraryDataProvider = new ArbitraryDataProvider(getContentResolver());
        final Account account = AccountUtils.getCurrentOwnCloudAccount(getApplicationContext());
        final SwitchPreference pUploadOnWifiCheckbox = (SwitchPreference) findPreference("synced_folder_on_wifi");
        pUploadOnWifiCheckbox.setChecked(arbitraryDataProvider.getBooleanValue(account, SYNCED_FOLDER_LIGHT_UPLOAD_ON_WIFI));
        pUploadOnWifiCheckbox.setOnPreferenceClickListener(new OnPreferenceClickListener() {

            @Override
            public boolean onPreferenceClick(Preference preference) {
                arbitraryDataProvider.storeOrUpdateKeyValue(account.name, SYNCED_FOLDER_LIGHT_UPLOAD_ON_WIFI, String.valueOf(pUploadOnWifiCheckbox.isChecked()));
                return true;
            }
        });
        Preference pSyncedFolder = findPreference("synced_folders_configure_folders");
        if (pSyncedFolder != null) {
            if (getResources().getBoolean(R.bool.syncedFolder_light) && Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                pSyncedFolder.setOnPreferenceClickListener(new OnPreferenceClickListener() {

                    @Override
                    public boolean onPreferenceClick(Preference preference) {
                        Intent syncedFoldersIntent = new Intent(getApplicationContext(), SyncedFoldersActivity.class);
                        syncedFoldersIntent.putExtra(SyncedFoldersActivity.EXTRA_SHOW_SIDEBAR, false);
                        startActivity(syncedFoldersIntent);
                        return true;
                    }
                });
            } else {
                preferenceCategorySyncedFolders.removePreference(pSyncedFolder);
            }
        }
    }
}
Also used : OnPreferenceClickListener(android.preference.Preference.OnPreferenceClickListener) Account(android.accounts.Account) OwnCloudAccount(com.owncloud.android.lib.common.OwnCloudAccount) PreferenceCategory(android.preference.PreferenceCategory) SwitchPreference(android.preference.SwitchPreference) ListPreference(android.preference.ListPreference) Preference(android.preference.Preference) SwitchPreference(android.preference.SwitchPreference) ArbitraryDataProvider(com.owncloud.android.datamodel.ArbitraryDataProvider) Intent(android.content.Intent)

Example 4 with OnPreferenceClickListener

use of android.preference.Preference.OnPreferenceClickListener in project android by nextcloud.

the class Preferences method setupExpertModePreference.

private void setupExpertModePreference(PreferenceCategory preferenceCategoryDetails) {
    mExpertMode = (SwitchPreference) findPreference(PREFERENCE_EXPERT_MODE);
    if (getResources().getBoolean(R.bool.syncedFolder_light)) {
        preferenceCategoryDetails.removePreference(mExpertMode);
    } else {
        mExpertMode = (SwitchPreference) findPreference(PREFERENCE_EXPERT_MODE);
        mExpertMode.setOnPreferenceClickListener(new OnPreferenceClickListener() {

            @Override
            public boolean onPreferenceClick(Preference preference) {
                SharedPreferences appPrefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
                SharedPreferences.Editor editor = appPrefs.edit();
                editor.putBoolean(PREFERENCE_EXPERT_MODE, mExpertMode.isChecked());
                editor.apply();
                if (mExpertMode.isChecked()) {
                    Log_OC.startLogging(getApplicationContext());
                } else {
                    if (!BuildConfig.DEBUG && !getApplicationContext().getResources().getBoolean(R.bool.logger_enabled)) {
                        Log_OC.stopLogging();
                    }
                }
                return true;
            }
        });
    }
}
Also used : OnPreferenceClickListener(android.preference.Preference.OnPreferenceClickListener) ListPreference(android.preference.ListPreference) Preference(android.preference.Preference) SwitchPreference(android.preference.SwitchPreference) SharedPreferences(android.content.SharedPreferences)

Example 5 with OnPreferenceClickListener

use of android.preference.Preference.OnPreferenceClickListener in project android by nextcloud.

the class Preferences method setupContactsBackupPreference.

private void setupContactsBackupPreference(PreferenceCategory preferenceCategoryMore) {
    boolean contactsBackupEnabled = !getResources().getBoolean(R.bool.show_drawer_contacts_backup) && getResources().getBoolean(R.bool.contacts_backup);
    Preference pContactsBackup = findPreference("contacts");
    if (pContactsBackup != null) {
        if (contactsBackupEnabled) {
            pContactsBackup.setOnPreferenceClickListener(new OnPreferenceClickListener() {

                @Override
                public boolean onPreferenceClick(Preference preference) {
                    Intent contactsIntent = new Intent(getApplicationContext(), ContactsPreferenceActivity.class);
                    contactsIntent.putExtra(ContactsPreferenceActivity.EXTRA_SHOW_SIDEBAR, false);
                    startActivity(contactsIntent);
                    return true;
                }
            });
        } else {
            preferenceCategoryMore.removePreference(pContactsBackup);
        }
    }
}
Also used : OnPreferenceClickListener(android.preference.Preference.OnPreferenceClickListener) ListPreference(android.preference.ListPreference) Preference(android.preference.Preference) SwitchPreference(android.preference.SwitchPreference) Intent(android.content.Intent)

Aggregations

OnPreferenceClickListener (android.preference.Preference.OnPreferenceClickListener)48 Preference (android.preference.Preference)47 Intent (android.content.Intent)24 ListPreference (android.preference.ListPreference)21 CheckBoxPreference (android.preference.CheckBoxPreference)15 SwitchPreference (android.preference.SwitchPreference)12 DialogInterface (android.content.DialogInterface)8 SharedPreferences (android.content.SharedPreferences)8 PreferenceCategory (android.preference.PreferenceCategory)8 PreferenceScreen (android.preference.PreferenceScreen)8 EditTextPreference (android.preference.EditTextPreference)7 OnPreferenceChangeListener (android.preference.Preference.OnPreferenceChangeListener)7 AlertDialog (android.app.AlertDialog)6 Bundle (android.os.Bundle)6 Uri (android.net.Uri)5 View (android.view.View)5 OnClickListener (android.content.DialogInterface.OnClickListener)4 TextView (android.widget.TextView)4 Activity (android.app.Activity)3 NameNotFoundException (android.content.pm.PackageManager.NameNotFoundException)3