Fix preferences
This commit is contained in:
parent
e917e7f955
commit
b7d5ea03ce
@ -22,15 +22,6 @@
|
|||||||
|
|
||||||
package org.solovyev.android.calculator;
|
package org.solovyev.android.calculator;
|
||||||
|
|
||||||
import static android.os.Build.VERSION_CODES.GINGERBREAD_MR1;
|
|
||||||
import static android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH;
|
|
||||||
import static android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
|
|
||||||
import static org.solovyev.android.calculator.Preferences.Gui.preventScreenFromFading;
|
|
||||||
import static org.solovyev.android.calculator.release.ReleaseNotes.hasReleaseNotes;
|
|
||||||
import static org.solovyev.android.wizard.WizardUi.continueWizard;
|
|
||||||
import static org.solovyev.android.wizard.WizardUi.createLaunchIntent;
|
|
||||||
import static org.solovyev.android.wizard.WizardUi.startWizard;
|
|
||||||
|
|
||||||
import android.annotation.TargetApi;
|
import android.annotation.TargetApi;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
@ -41,13 +32,10 @@ import android.preference.PreferenceManager;
|
|||||||
import android.support.v7.app.ActionBar;
|
import android.support.v7.app.ActionBar;
|
||||||
import android.support.v7.app.AlertDialog;
|
import android.support.v7.app.AlertDialog;
|
||||||
import android.text.method.LinkMovementMethod;
|
import android.text.method.LinkMovementMethod;
|
||||||
import android.view.KeyEvent;
|
import android.view.*;
|
||||||
import android.view.LayoutInflater;
|
|
||||||
import android.view.View;
|
|
||||||
import android.view.ViewConfiguration;
|
|
||||||
import android.view.Window;
|
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
import butterknife.Bind;
|
||||||
|
import butterknife.ButterKnife;
|
||||||
import org.solovyev.android.Activities;
|
import org.solovyev.android.Activities;
|
||||||
import org.solovyev.android.Android;
|
import org.solovyev.android.Android;
|
||||||
import org.solovyev.android.calculator.history.History;
|
import org.solovyev.android.calculator.history.History;
|
||||||
@ -59,13 +47,17 @@ import org.solovyev.android.wizard.Wizard;
|
|||||||
import org.solovyev.android.wizard.Wizards;
|
import org.solovyev.android.wizard.Wizards;
|
||||||
import org.solovyev.common.Objects;
|
import org.solovyev.common.Objects;
|
||||||
|
|
||||||
import butterknife.Bind;
|
|
||||||
import butterknife.ButterKnife;
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import static android.os.Build.VERSION_CODES.GINGERBREAD_MR1;
|
||||||
|
import static android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH;
|
||||||
|
import static android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
|
||||||
|
import static org.solovyev.android.calculator.Preferences.Gui.preventScreenFromFading;
|
||||||
|
import static org.solovyev.android.calculator.release.ReleaseNotes.hasReleaseNotes;
|
||||||
|
import static org.solovyev.android.wizard.WizardUi.*;
|
||||||
|
|
||||||
public class CalculatorActivity extends BaseActivity implements SharedPreferences.OnSharedPreferenceChangeListener {
|
public class CalculatorActivity extends BaseActivity implements SharedPreferences.OnSharedPreferenceChangeListener {
|
||||||
|
|
||||||
@Nonnull
|
@Nonnull
|
||||||
@ -92,16 +84,16 @@ public class CalculatorActivity extends BaseActivity implements SharedPreference
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static void firstTimeInit(@Nonnull SharedPreferences preferences, @Nonnull Context context) {
|
private static void firstTimeInit(@Nonnull SharedPreferences preferences, @Nonnull Context context) {
|
||||||
|
final SharedPreferences.Editor editor = preferences.edit();
|
||||||
final Integer appOpenedCounter = Preferences.appOpenedCounter.getPreference(preferences);
|
final Integer appOpenedCounter = Preferences.appOpenedCounter.getPreference(preferences);
|
||||||
if (appOpenedCounter != null) {
|
Preferences.appOpenedCounter.putPreference(editor, appOpenedCounter == null ? 1 : appOpenedCounter + 1);
|
||||||
Preferences.appOpenedCounter.putPreference(preferences, appOpenedCounter + 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
final Integer savedVersion = Preferences.appVersion.getPreference(preferences);
|
final Integer savedVersion = Preferences.appVersion.getPreference(preferences);
|
||||||
|
|
||||||
final int appVersion = Android.getAppVersionCode(context);
|
final int appVersion = Android.getAppVersionCode(context);
|
||||||
|
|
||||||
Preferences.appVersion.putPreference(preferences, appVersion);
|
Preferences.appVersion.putPreference(editor, appVersion);
|
||||||
|
editor.apply();
|
||||||
|
|
||||||
if (!App.isMonkeyRunner(context)) {
|
if (!App.isMonkeyRunner(context)) {
|
||||||
|
|
||||||
|
@ -175,7 +175,7 @@ public class Engine implements SharedPreferences.OnSharedPreferenceChangeListene
|
|||||||
migratePreference(preferences, Preferences.Output.scientificNotation, "calculation.output.science_notation", editor);
|
migratePreference(preferences, Preferences.Output.scientificNotation, "calculation.output.science_notation", editor);
|
||||||
migratePreference(preferences, Preferences.Output.round, "org.solovyev.android.calculator.CalculatorModel_round_result", editor);
|
migratePreference(preferences, Preferences.Output.round, "org.solovyev.android.calculator.CalculatorModel_round_result", editor);
|
||||||
}
|
}
|
||||||
Preferences.version.putDefault(preferences);
|
Preferences.version.putDefault(editor);
|
||||||
editor.apply();
|
editor.apply();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,17 +60,19 @@ public final class Preferences {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void setDefaultValues(@Nonnull SharedPreferences preferences) {
|
static void setDefaultValues(@Nonnull SharedPreferences preferences) {
|
||||||
|
SharedPreferences.Editor editor = preferences.edit();
|
||||||
// renew value after each application start
|
// renew value after each application start
|
||||||
Gui.showFixableErrorDialog.putDefault(preferences);
|
Gui.showFixableErrorDialog.putDefault(editor);
|
||||||
Gui.lastPreferredPreferencesCheck.putDefault(preferences);
|
Gui.lastPreferredPreferencesCheck.putDefault(editor);
|
||||||
|
|
||||||
final Integer version = Preferences.appVersion.getPreference(preferences);
|
final Integer version = Preferences.appVersion.getPreference(preferences);
|
||||||
if (version == null) {
|
if (version == null) {
|
||||||
setInitialDefaultValues(preferences);
|
setInitialDefaultValues(preferences, editor);
|
||||||
}
|
}
|
||||||
|
editor.apply();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void setInitialDefaultValues(@Nonnull SharedPreferences preferences) {
|
private static void setInitialDefaultValues(@Nonnull SharedPreferences preferences, @Nonnull SharedPreferences.Editor editor) {
|
||||||
if (!Engine.Preferences.groupingSeparator.isSet(preferences)) {
|
if (!Engine.Preferences.groupingSeparator.isSet(preferences)) {
|
||||||
final Locale locale = Locale.getDefault();
|
final Locale locale = Locale.getDefault();
|
||||||
if (locale != null) {
|
if (locale != null) {
|
||||||
@ -83,44 +85,44 @@ public final class Preferences {
|
|||||||
groupingSeparator = " ";
|
groupingSeparator = " ";
|
||||||
}
|
}
|
||||||
|
|
||||||
Engine.Preferences.groupingSeparator.putPreference(preferences, groupingSeparator);
|
Engine.Preferences.groupingSeparator.putPreference(editor, groupingSeparator);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Engine.Preferences.angleUnit.tryPutDefault(preferences);
|
Engine.Preferences.angleUnit.tryPutDefault(preferences, editor);
|
||||||
Engine.Preferences.numeralBase.tryPutDefault(preferences);
|
Engine.Preferences.numeralBase.tryPutDefault(preferences, editor);
|
||||||
|
|
||||||
if (!Engine.Preferences.multiplicationSign.isSet(preferences)) {
|
if (!Engine.Preferences.multiplicationSign.isSet(preferences)) {
|
||||||
if (isPhoneModel(samsung_galaxy_s) || isPhoneModel(samsung_galaxy_s_2)) {
|
if (isPhoneModel(samsung_galaxy_s) || isPhoneModel(samsung_galaxy_s_2)) {
|
||||||
// workaround ofr samsung galaxy s phones
|
// workaround ofr samsung galaxy s phones
|
||||||
Engine.Preferences.multiplicationSign.putPreference(preferences, "*");
|
Engine.Preferences.multiplicationSign.putPreference(editor, "*");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Gui.theme.tryPutDefault(preferences);
|
Gui.theme.tryPutDefault(preferences, editor);
|
||||||
Gui.layout.tryPutDefault(preferences);
|
Gui.layout.tryPutDefault(preferences, editor);
|
||||||
if (Gui.layout.getPreference(preferences) == Gui.Layout.main_cellphone) {
|
if (Gui.layout.getPreference(preferences) == Gui.Layout.main_cellphone) {
|
||||||
Gui.layout.putDefault(preferences);
|
Gui.layout.putDefault(editor);
|
||||||
}
|
}
|
||||||
Gui.feedbackWindowShown.tryPutDefault(preferences);
|
Gui.feedbackWindowShown.tryPutDefault(preferences, editor);
|
||||||
Gui.showReleaseNotes.tryPutDefault(preferences);
|
Gui.showReleaseNotes.tryPutDefault(preferences, editor);
|
||||||
Gui.usePrevAsBack.tryPutDefault(preferences);
|
Gui.usePrevAsBack.tryPutDefault(preferences, editor);
|
||||||
Gui.showEqualsButton.tryPutDefault(preferences);
|
Gui.showEqualsButton.tryPutDefault(preferences, editor);
|
||||||
Gui.autoOrientation.tryPutDefault(preferences);
|
Gui.autoOrientation.tryPutDefault(preferences, editor);
|
||||||
Gui.hideNumeralBaseDigits.tryPutDefault(preferences);
|
Gui.hideNumeralBaseDigits.tryPutDefault(preferences, editor);
|
||||||
Gui.preventScreenFromFading.tryPutDefault(preferences);
|
Gui.preventScreenFromFading.tryPutDefault(preferences, editor);
|
||||||
Gui.language.tryPutDefault(preferences);
|
Gui.language.tryPutDefault(preferences, editor);
|
||||||
|
|
||||||
Graph.plotImag.tryPutDefault(preferences);
|
Graph.plotImag.tryPutDefault(preferences, editor);
|
||||||
Calculations.calculateOnFly.tryPutDefault(preferences);
|
Calculations.calculateOnFly.tryPutDefault(preferences, editor);
|
||||||
Calculations.preferredAngleUnits.tryPutDefault(preferences);
|
Calculations.preferredAngleUnits.tryPutDefault(preferences, editor);
|
||||||
Calculations.preferredNumeralBase.tryPutDefault(preferences);
|
Calculations.preferredNumeralBase.tryPutDefault(preferences, editor);
|
||||||
|
|
||||||
Onscreen.showAppIcon.tryPutDefault(preferences);
|
Onscreen.showAppIcon.tryPutDefault(preferences, editor);
|
||||||
Onscreen.startOnBoot.tryPutDefault(preferences);
|
Onscreen.startOnBoot.tryPutDefault(preferences, editor);
|
||||||
Onscreen.theme.tryPutDefault(preferences);
|
Onscreen.theme.tryPutDefault(preferences, editor);
|
||||||
|
|
||||||
Widget.theme.tryPutDefault(preferences);
|
Widget.theme.tryPutDefault(preferences, editor);
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum SimpleTheme {
|
public enum SimpleTheme {
|
||||||
|
@ -74,18 +74,32 @@ public abstract class AbstractPreference<T> implements Preference<T> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void putDefault(@Nonnull SharedPreferences.Editor editor) {
|
||||||
|
putPreference(editor, this.defaultValue);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void putDefault(@Nonnull SharedPreferences preferences) {
|
public void putDefault(@Nonnull SharedPreferences preferences) {
|
||||||
putPreference(preferences, this.defaultValue);
|
putPreference(preferences, this.defaultValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void putPreference(@Nonnull SharedPreferences preferences, @Nullable T value) {
|
public void putPreference(@Nonnull SharedPreferences.Editor editor, @Nullable T value) {
|
||||||
if (value != null) {
|
if (value == null) {
|
||||||
final SharedPreferences.Editor editor = preferences.edit();
|
return;
|
||||||
putPersistedValue(editor, value);
|
|
||||||
editor.commit();
|
|
||||||
}
|
}
|
||||||
|
putPersistedValue(editor, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void putPreference(@Nonnull SharedPreferences preferences, @Nullable T value) {
|
||||||
|
if (value == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final SharedPreferences.Editor editor = preferences.edit();
|
||||||
|
putPersistedValue(editor, value);
|
||||||
|
editor.apply();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -95,16 +109,20 @@ public abstract class AbstractPreference<T> implements Preference<T> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final boolean tryPutDefault(@Nonnull SharedPreferences preferences) {
|
public final boolean tryPutDefault(@Nonnull SharedPreferences preferences) {
|
||||||
final boolean result;
|
final SharedPreferences.Editor editor = preferences.edit();
|
||||||
|
final boolean changed = tryPutDefault(preferences, editor);
|
||||||
|
editor.apply();
|
||||||
|
return changed;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public final boolean tryPutDefault(@Nonnull SharedPreferences preferences, @Nonnull SharedPreferences.Editor editor) {
|
||||||
if (isSet(preferences)) {
|
if (isSet(preferences)) {
|
||||||
result = false;
|
return false;
|
||||||
} else {
|
|
||||||
putDefault(preferences);
|
|
||||||
result = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
putDefault(editor);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1,155 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2013 serso aka se.solovyev
|
|
||||||
*
|
|
||||||
* 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.
|
|
||||||
*
|
|
||||||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
* Contact details
|
|
||||||
*
|
|
||||||
* Email: se.solovyev@gmail.com
|
|
||||||
* Site: http://se.solovyev.org
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.solovyev.android.prefs;
|
|
||||||
|
|
||||||
import android.content.SharedPreferences;
|
|
||||||
import org.solovyev.common.text.Mapper;
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
import javax.annotation.Nullable;
|
|
||||||
import java.util.Locale;
|
|
||||||
import java.util.StringTokenizer;
|
|
||||||
|
|
||||||
public class LocalePreference implements Preference<Locale> {
|
|
||||||
|
|
||||||
@Nonnull
|
|
||||||
private final StringPreference<Locale> stringPreference;
|
|
||||||
|
|
||||||
private LocalePreference(@Nonnull String id, @Nullable Locale defaultValue, @Nonnull Mapper<Locale> localeMapper) {
|
|
||||||
this.stringPreference = new StringPreference<Locale>(id, defaultValue, localeMapper);
|
|
||||||
}
|
|
||||||
|
|
||||||
private LocalePreference(@Nonnull String id, @Nullable Locale defaultValue) {
|
|
||||||
this.stringPreference = new StringPreference<Locale>(id, defaultValue, DefaultLocaleMapper.getInstance());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Nonnull
|
|
||||||
public static LocalePreference of(@Nonnull String id, @Nullable Locale defaultValue, @Nonnull Mapper<Locale> localeMapper) {
|
|
||||||
return new LocalePreference(id, defaultValue, localeMapper);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Nonnull
|
|
||||||
public static LocalePreference of(@Nonnull String id, @Nullable Locale defaultValue) {
|
|
||||||
return new LocalePreference(id, defaultValue);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@Nonnull
|
|
||||||
public String getKey() {
|
|
||||||
return stringPreference.getKey();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Locale getDefaultValue() {
|
|
||||||
return stringPreference.getDefaultValue();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Locale getPreference(@Nonnull SharedPreferences preferences) {
|
|
||||||
return stringPreference.getPreference(preferences);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Locale getPreferenceNoError(@Nonnull SharedPreferences preferences) {
|
|
||||||
return stringPreference.getPreferenceNoError(preferences);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void putDefault(@Nonnull SharedPreferences preferences) {
|
|
||||||
stringPreference.putDefault(preferences);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void putPreference(@Nonnull SharedPreferences preferences, @Nullable Locale value) {
|
|
||||||
stringPreference.putPreference(preferences, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isSet(@Nonnull SharedPreferences preferences) {
|
|
||||||
return stringPreference.isSet(preferences);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean tryPutDefault(@Nonnull SharedPreferences preferences) {
|
|
||||||
return stringPreference.tryPutDefault(preferences);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isSameKey(@Nonnull String key) {
|
|
||||||
return stringPreference.isSameKey(key);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
**********************************************************************
|
|
||||||
*
|
|
||||||
* STATIC
|
|
||||||
*
|
|
||||||
**********************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
private static final class DefaultLocaleMapper implements Mapper<Locale> {
|
|
||||||
|
|
||||||
@Nonnull
|
|
||||||
private static final String delimiter = ";";
|
|
||||||
|
|
||||||
@Nonnull
|
|
||||||
private static Mapper<Locale> instance = new DefaultLocaleMapper();
|
|
||||||
|
|
||||||
private DefaultLocaleMapper() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Nonnull
|
|
||||||
public static Mapper<Locale> getInstance() {
|
|
||||||
return instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String formatValue(@Nullable Locale locale) throws IllegalArgumentException {
|
|
||||||
assert locale != null;
|
|
||||||
return locale.getLanguage() + delimiter + locale.getCountry() + delimiter + locale.getVariant();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Locale parseValue(@Nullable String s) throws IllegalArgumentException {
|
|
||||||
final StringTokenizer st = new StringTokenizer(s, delimiter, false);
|
|
||||||
|
|
||||||
final String language = st.nextToken();
|
|
||||||
|
|
||||||
final String country;
|
|
||||||
if (st.hasMoreTokens()) {
|
|
||||||
country = st.nextToken();
|
|
||||||
} else {
|
|
||||||
country = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
final String variant;
|
|
||||||
if (st.hasMoreTokens()) {
|
|
||||||
variant = st.nextToken();
|
|
||||||
} else {
|
|
||||||
variant = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
return new Locale(language, country, variant);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -66,18 +66,19 @@ public interface Preference<T> {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Method puts (saves) preference represented by <code>value</code> in <code>preferences</code> container
|
* Method puts (saves) preference represented by <code>value</code> in <code>preferences</code> container
|
||||||
*
|
* @param editor preferences container
|
||||||
* @param preferences preferences container
|
|
||||||
* @param value value to be saved
|
* @param value value to be saved
|
||||||
*/
|
*/
|
||||||
|
void putPreference(@Nonnull SharedPreferences.Editor editor, @Nullable T value);
|
||||||
void putPreference(@Nonnull SharedPreferences preferences, @Nullable T value);
|
void putPreference(@Nonnull SharedPreferences preferences, @Nullable T value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Method saves default value in <code>preferences</code> container.
|
* Method saves default value in <code>preferences</code> container.
|
||||||
* Should behave exactly as <code>p.putPreference(preferences, p.getDefaultValue())</code>
|
* Should behave exactly as <code>p.putPreference(preferences, p.getDefaultValue())</code>
|
||||||
*
|
*
|
||||||
* @param preferences preferences container
|
* @param editor preferences editor
|
||||||
*/
|
*/
|
||||||
|
void putDefault(@Nonnull SharedPreferences.Editor editor);
|
||||||
void putDefault(@Nonnull SharedPreferences preferences);
|
void putDefault(@Nonnull SharedPreferences preferences);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -89,9 +90,12 @@ public interface Preference<T> {
|
|||||||
/**
|
/**
|
||||||
* Method applies default value to preference only if explicit value is not set
|
* Method applies default value to preference only if explicit value is not set
|
||||||
*
|
*
|
||||||
* @param preferences preferences container
|
*
|
||||||
|
* @param preferences preferences
|
||||||
|
* @param editor preferences editor
|
||||||
* @return true if default values have been applied, false otherwise
|
* @return true if default values have been applied, false otherwise
|
||||||
*/
|
*/
|
||||||
|
boolean tryPutDefault(@Nonnull SharedPreferences preferences, @Nonnull SharedPreferences.Editor editor);
|
||||||
boolean tryPutDefault(@Nonnull SharedPreferences preferences);
|
boolean tryPutDefault(@Nonnull SharedPreferences preferences);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user