From b06c6156eda815053af9868b3cfc7ffd2c096148 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Tue, 4 Apr 2017 12:13:20 +0300 Subject: [PATCH 1/3] arrange prefs --- .../activities/SettingsActivity.java | 81 ++++++++----------- 1 file changed, 32 insertions(+), 49 deletions(-) diff --git a/app/src/main/java/com/github/axet/audiorecorder/activities/SettingsActivity.java b/app/src/main/java/com/github/axet/audiorecorder/activities/SettingsActivity.java index 661fefb..82e01b8 100644 --- a/app/src/main/java/com/github/axet/audiorecorder/activities/SettingsActivity.java +++ b/app/src/main/java/com/github/axet/audiorecorder/activities/SettingsActivity.java @@ -18,6 +18,7 @@ import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.PreferenceFragment; import android.preference.PreferenceManager; +import android.preference.PreferenceScreen; import android.preference.RingtonePreference; import android.support.v4.content.ContextCompat; import android.support.v7.app.ActionBar; @@ -130,6 +131,33 @@ public class SettingsActivity extends AppCompatPreferenceActivity implements Sha .getString(preference.getKey(), "")); } + static void initPrefs(PreferenceManager pm, PreferenceScreen screen) { + Context context = screen.getContext(); + ListPreference enc = (ListPreference) pm.findPreference(MainApplication.PREFERENCE_ENCODING); + String v = enc.getValue(); + CharSequence[] ee = Factory.getEncodingTexts(context); + CharSequence[] vv = Factory.getEncodingValues(context); + if (ee.length > 1) { + enc.setEntries(ee); + enc.setEntryValues(vv); + + int i = enc.findIndexOfValue(v); + if (i == -1) { + enc.setValueIndex(0); + } else { + enc.setValueIndex(i); + } + + bindPreferenceSummaryToValue(enc); + } else { + screen.removePreference(enc); + } + + bindPreferenceSummaryToValue(pm.findPreference(MainApplication.PREFERENCE_RATE)); + bindPreferenceSummaryToValue(pm.findPreference(MainApplication.PREFERENCE_THEME)); + bindPreferenceSummaryToValue(pm.findPreference(MainApplication.PREFERENCE_CHANNELS)); + } + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -141,30 +169,7 @@ public class SettingsActivity extends AppCompatPreferenceActivity implements Sha if (Build.VERSION.SDK_INT < 11) { addPreferencesFromResource(R.xml.pref_general); - - ListPreference enc = (ListPreference) findPreference(MainApplication.PREFERENCE_ENCODING); - String v = enc.getValue(); - CharSequence[] ee = Factory.getEncodingTexts(this); - CharSequence[] vv = Factory.getEncodingValues(this); - if (ee.length > 1) { - enc.setEntries(ee); - enc.setEntryValues(vv); - - int i = enc.findIndexOfValue(v); - if (i == -1) { - enc.setValueIndex(0); - } else { - enc.setValueIndex(i); - } - - bindPreferenceSummaryToValue(enc); - } else { - getPreferenceScreen().removePreference(enc); - } - - bindPreferenceSummaryToValue(findPreference(MainApplication.PREFERENCE_RATE)); - bindPreferenceSummaryToValue(findPreference(MainApplication.PREFERENCE_THEME)); - bindPreferenceSummaryToValue(findPreference(MainApplication.PREFERENCE_CHANNELS)); + initPrefs(getPreferenceManager(), getPreferenceScreen()); } else { getFragmentManager().beginTransaction().replace(android.R.id.content, new GeneralPreferenceFragment()).commit(); } @@ -213,6 +218,7 @@ public class SettingsActivity extends AppCompatPreferenceActivity implements Sha * This method stops fragment injection in malicious applications. * Make sure to deny any unknown fragments here. */ + @TargetApi(11) protected boolean isValidFragment(String fragmentName) { return PreferenceFragment.class.getName().equals(fragmentName) || GeneralPreferenceFragment.class.getName().equals(fragmentName); @@ -266,32 +272,9 @@ public class SettingsActivity extends AppCompatPreferenceActivity implements Sha @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - addPreferencesFromResource(R.xml.pref_general); setHasOptionsMenu(true); - - ListPreference enc = (ListPreference) findPreference(MainApplication.PREFERENCE_ENCODING); - String v = enc.getValue(); - CharSequence[] ee = Factory.getEncodingTexts(getActivity()); - CharSequence[] vv = Factory.getEncodingValues(getActivity()); - if (ee.length > 1) { - enc.setEntries(ee); - enc.setEntryValues(vv); - - int i = enc.findIndexOfValue(v); - if (i == -1) { - enc.setValueIndex(0); - } else { - enc.setValueIndex(i); - } - - bindPreferenceSummaryToValue(enc); - } else { - getPreferenceScreen().removePreference(enc); - } - - bindPreferenceSummaryToValue(findPreference(MainApplication.PREFERENCE_RATE)); - bindPreferenceSummaryToValue(findPreference(MainApplication.PREFERENCE_THEME)); - bindPreferenceSummaryToValue(findPreference(MainApplication.PREFERENCE_CHANNELS)); + addPreferencesFromResource(R.xml.pref_general); + initPrefs(getPreferenceManager(), getPreferenceScreen()); } @Override From 1a79245b416db221a5531039c477493c1569ef66 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Fri, 7 Apr 2017 21:48:21 +0300 Subject: [PATCH 2/3] add compat --- app/build.gradle | 2 +- app/src/main/AndroidManifest.xml | 4 +- .../activities/SettingsActivity.java | 58 +++--------------- app/src/main/res/values/styles.xml | 19 ++++++ app/src/main/res/xml-ru-v14/pref_general.xml | 61 ------------------- app/src/main/res/xml-ru/pref_general.xml | 6 +- app/src/main/res/xml-v14/pref_general.xml | 61 ------------------- app/src/main/res/xml/pref_general.xml | 8 +-- build.gradle | 2 +- 9 files changed, 40 insertions(+), 181 deletions(-) delete mode 100644 app/src/main/res/xml-ru-v14/pref_general.xml delete mode 100644 app/src/main/res/xml-v14/pref_general.xml diff --git a/app/build.gradle b/app/build.gradle index 08c134d..f92585a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -43,5 +43,5 @@ android { dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' - compile 'com.github.axet:android-audio-library:0.0.20' // compile project(':android-audio-library') + compile 'com.github.axet:android-audio-library:0.0.21' // compile project(':android-audio-library') } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 50bf023..a7b0c45 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -14,7 +14,7 @@ android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" - android:theme="@style/AppThemeLight"> + android:theme="@style/RecThemeLight"> + android:theme="@style/RecThemeLight.NoActionBar"> diff --git a/app/src/main/java/com/github/axet/audiorecorder/activities/SettingsActivity.java b/app/src/main/java/com/github/axet/audiorecorder/activities/SettingsActivity.java index 82e01b8..929684c 100644 --- a/app/src/main/java/com/github/axet/audiorecorder/activities/SettingsActivity.java +++ b/app/src/main/java/com/github/axet/audiorecorder/activities/SettingsActivity.java @@ -13,15 +13,16 @@ import android.media.RingtoneManager; import android.net.Uri; import android.os.Build; import android.os.Bundle; -import android.preference.ListPreference; -import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.PreferenceFragment; -import android.preference.PreferenceManager; -import android.preference.PreferenceScreen; -import android.preference.RingtonePreference; import android.support.v4.content.ContextCompat; import android.support.v7.app.ActionBar; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.preference.ListPreference; +import android.support.v7.preference.Preference; +import android.support.v7.preference.PreferenceFragmentCompat; +import android.support.v7.preference.PreferenceManager; +import android.support.v7.preference.PreferenceScreen; import android.view.MenuItem; import android.widget.Toast; @@ -46,7 +47,7 @@ import java.util.List; * href="http://developer.android.com/guide/topics/ui/settings.html">Settings * API Guide for more information on developing a Settings UI. */ -public class SettingsActivity extends AppCompatPreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener { +public class SettingsActivity extends AppCompatActivity implements SharedPreferences.OnSharedPreferenceChangeListener { public static T[] removeElement(Class c, T[] aa, int i) { List ll = Arrays.asList(aa); @@ -77,21 +78,6 @@ public class SettingsActivity extends AppCompatPreferenceActivity implements Sha ? listPreference.getEntries()[index] : null); - } else if (preference instanceof RingtonePreference) { - // For ringtone preferences, look up the correct display value - // using RingtoneManager. - Ringtone ringtone = RingtoneManager.getRingtone( - preference.getContext(), Uri.parse(stringValue)); - - if (ringtone == null) { - // Clear the summary if there was a lookup error. - preference.setSummary(null); - } else { - // Set the summary to reflect the new ringtone display - // name. - String name = ringtone.getTitle(preference.getContext()); - preference.setSummary(name); - } } else { // For all other preferences, set the summary to the value's // simple string representation. @@ -167,12 +153,7 @@ public class SettingsActivity extends AppCompatPreferenceActivity implements Sha final SharedPreferences shared = PreferenceManager.getDefaultSharedPreferences(this); shared.registerOnSharedPreferenceChangeListener(this); - if (Build.VERSION.SDK_INT < 11) { - addPreferencesFromResource(R.xml.pref_general); - initPrefs(getPreferenceManager(), getPreferenceScreen()); - } else { - getFragmentManager().beginTransaction().replace(android.R.id.content, new GeneralPreferenceFragment()).commit(); - } + getSupportFragmentManager().beginTransaction().replace(android.R.id.content, new GeneralPreferenceFragment()).commit(); } /** @@ -187,23 +168,6 @@ public class SettingsActivity extends AppCompatPreferenceActivity implements Sha } } - /** - * {@inheritDoc} - */ - @Override - public boolean onIsMultiPane() { - return isXLargeTablet(this); - } - - /** - * {@inheritDoc} - */ - @Override - @TargetApi(Build.VERSION_CODES.HONEYCOMB) - public void onBuildHeaders(List
target) { -// loadHeadersFromResource(R.xml.pref_headers, target); - } - @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); @@ -264,14 +228,12 @@ public class SettingsActivity extends AppCompatPreferenceActivity implements Sha * This fragment shows general preferences only. It is used when the * activity is showing a two-pane settings UI. */ - @TargetApi(11) - public static class GeneralPreferenceFragment extends PreferenceFragment { + public static class GeneralPreferenceFragment extends PreferenceFragmentCompat { public GeneralPreferenceFragment() { } @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); + public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { setHasOptionsMenu(true); addPreferencesFromResource(R.xml.pref_general); initPrefs(getPreferenceManager(), getPreferenceScreen()); diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 8542005..f67a429 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,2 +1,21 @@ + + + + + + + + + diff --git a/app/src/main/res/xml-ru-v14/pref_general.xml b/app/src/main/res/xml-ru-v14/pref_general.xml deleted file mode 100644 index 0e05a3a..0000000 --- a/app/src/main/res/xml-ru-v14/pref_general.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/xml-ru/pref_general.xml b/app/src/main/res/xml-ru/pref_general.xml index fcc8b91..7ae2fe9 100644 --- a/app/src/main/res/xml-ru/pref_general.xml +++ b/app/src/main/res/xml-ru/pref_general.xml @@ -1,6 +1,6 @@ - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/xml/pref_general.xml b/app/src/main/res/xml/pref_general.xml index 6144273..525b546 100644 --- a/app/src/main/res/xml/pref_general.xml +++ b/app/src/main/res/xml/pref_general.xml @@ -1,6 +1,6 @@ - - + android:title="Pause during calls" /> - Date: Fri, 7 Apr 2017 21:48:48 +0300 Subject: [PATCH 3/3] Bump version audiorecorder-1.4.18 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index f92585a..fc947ee 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,8 +8,8 @@ android { applicationId "com.github.axet.audiorecorder" minSdkVersion 9 targetSdkVersion 23 - versionCode 119 - versionName "1.4.17" + versionCode 120 + versionName "1.4.18" } signingConfigs { release {