diff options
author | Michael Bestas <mkbestas@lineageos.org> | 2018-01-22 21:02:42 +0200 |
---|---|---|
committer | Michael Bestas <mkbestas@lineageos.org> | 2018-01-23 19:35:52 +0200 |
commit | a907407e035b52e8dcdd4ac3ae48b533c7942d5a (patch) | |
tree | ef031b8478effd2fd828495832260359486950f4 /src/org/lineageos/eleven/ui/activities/SettingsActivity.java | |
parent | da200d369e4e43f2587273e9dd7af9c91048cf68 (diff) | |
download | android_packages_apps_Eleven-a907407e035b52e8dcdd4ac3ae48b533c7942d5a.tar.gz android_packages_apps_Eleven-a907407e035b52e8dcdd4ac3ae48b533c7942d5a.tar.bz2 android_packages_apps_Eleven-a907407e035b52e8dcdd4ac3ae48b533c7942d5a.zip |
Eleven: rebrand step 1: update paths
Change-Id: Iab35e4024e20c48e7439e78d1c6efe0ef4f730ca
Diffstat (limited to 'src/org/lineageos/eleven/ui/activities/SettingsActivity.java')
-rw-r--r-- | src/org/lineageos/eleven/ui/activities/SettingsActivity.java | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/src/org/lineageos/eleven/ui/activities/SettingsActivity.java b/src/org/lineageos/eleven/ui/activities/SettingsActivity.java new file mode 100644 index 0000000..cf33054 --- /dev/null +++ b/src/org/lineageos/eleven/ui/activities/SettingsActivity.java @@ -0,0 +1,117 @@ +/* + * Copyright (C) 2012 Andrew Neal + * Copyright (C) 2014 The CyanogenMod Project + * Licensed under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law + * or agreed to in writing, software distributed under the License is + * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +package com.cyanogenmod.eleven.ui.activities; + +import android.app.AlertDialog; +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.SharedPreferences; +import android.content.SharedPreferences.OnSharedPreferenceChangeListener; +import android.os.Bundle; +import android.preference.Preference; +import android.preference.Preference.OnPreferenceClickListener; +import android.preference.PreferenceActivity; +import android.preference.PreferenceManager; +import android.view.MenuItem; + +import com.cyanogenmod.eleven.R; +import com.cyanogenmod.eleven.cache.ImageFetcher; +import com.cyanogenmod.eleven.utils.MusicUtils; +import com.cyanogenmod.eleven.utils.PreferenceUtils; + +/** + * Settings. + * + * @author Andrew Neal (andrewdneal@gmail.com) + */ +@SuppressWarnings("deprecation") +public class SettingsActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener{ + + /** + * {@inheritDoc} + */ + @Override + protected void onCreate(final Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + // Fade it in + overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); + + // UP + getActionBar().setDisplayHomeAsUpEnabled(true); + + // Add the preferences + addPreferencesFromResource(R.xml.settings); + + // Removes the cache entries + deleteCache(); + + PreferenceUtils.getInstance(this).setOnSharedPreferenceChangeListener(this); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean onOptionsItemSelected(final MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + onBackPressed(); + finish(); + return true; + default: + break; + } + return super.onOptionsItemSelected(item); + } + + /** + * Removes all of the cache entries. + */ + private void deleteCache() { + final Preference deleteCache = findPreference("delete_cache"); + deleteCache.setOnPreferenceClickListener(new OnPreferenceClickListener() { + @Override + public boolean onPreferenceClick(final Preference preference) { + new AlertDialog.Builder(SettingsActivity.this).setMessage(R.string.delete_warning) + .setPositiveButton(android.R.string.ok, new OnClickListener() { + @Override + public void onClick(final DialogInterface dialog, final int which) { + ImageFetcher.getInstance(SettingsActivity.this).clearCaches(); + } + }) + .setNegativeButton(R.string.cancel, new OnClickListener() { + @Override + public void onClick(final DialogInterface dialog, final int which) { + dialog.dismiss(); + } + }) + .create().show(); + return true; + } + }); + } + + @Override + public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, + String key) { + if (key.equals(PreferenceUtils.SHOW_VISUALIZER) && + sharedPreferences.getBoolean(key, false) && !PreferenceUtils.canRecordAudio(this)) { + PreferenceUtils.requestRecordAudio(this); + } if (key.equals(PreferenceUtils.SHAKE_TO_PLAY)) { + MusicUtils.setShakeToPlayEnabled(sharedPreferences.getBoolean(key, false)); + } else if (key.equals(PreferenceUtils.SHOW_ALBUM_ART_ON_LOCKSCREEN)) { + MusicUtils.setShowAlbumArtOnLockscreen(sharedPreferences.getBoolean(key, true)); + } + } +} |