Merge "Update AlarmManager Global Settings String"
This commit is contained in:
@@ -34,13 +34,15 @@ import com.android.settings.R;
|
||||
public class TareFactorController {
|
||||
private static final String TAG = "TareFactorController";
|
||||
|
||||
private static final int POLICY_ALARM_MANAGER = 0;
|
||||
private static final int POLICY_JOB_SCHEDULER = 1;
|
||||
|
||||
private final ContentResolver mContentResolver;
|
||||
private final KeyValueListParser mParser = new KeyValueListParser(',');
|
||||
private final Resources mResources;
|
||||
private final ArrayMap<String, TareFactorData> mAlarmManagerMap = new ArrayMap<>();
|
||||
private String mAlarmManagerConstants;
|
||||
|
||||
|
||||
public TareFactorController(Context context) {
|
||||
mContentResolver = context.getContentResolver();
|
||||
mResources = context.getResources();
|
||||
@@ -59,140 +61,179 @@ public class TareFactorController {
|
||||
private void initAlarmManagerMap() {
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_MIN_SATIATED_BALANCE_EXEMPTED,
|
||||
new TareFactorData(mResources.getString(R.string.tare_min_satiated_balance),
|
||||
EconomyManager.DEFAULT_AM_MIN_SATIATED_BALANCE_EXEMPTED));
|
||||
EconomyManager.DEFAULT_AM_MIN_SATIATED_BALANCE_EXEMPTED,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_MIN_SATIATED_BALANCE_HEADLESS_SYSTEM_APP,
|
||||
new TareFactorData(mResources.getString(R.string.tare_headless_app),
|
||||
EconomyManager.DEFAULT_AM_MIN_SATIATED_BALANCE_HEADLESS_SYSTEM_APP));
|
||||
EconomyManager.DEFAULT_AM_MIN_SATIATED_BALANCE_HEADLESS_SYSTEM_APP,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_MIN_SATIATED_BALANCE_OTHER_APP,
|
||||
new TareFactorData(mResources.getString(R.string.tare_other_app),
|
||||
EconomyManager.DEFAULT_AM_MIN_SATIATED_BALANCE_OTHER_APP));
|
||||
EconomyManager.DEFAULT_AM_MIN_SATIATED_BALANCE_OTHER_APP,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_MAX_SATIATED_BALANCE,
|
||||
new TareFactorData(mResources.getString(R.string.tare_max_satiated_balance),
|
||||
EconomyManager.DEFAULT_AM_MAX_SATIATED_BALANCE));
|
||||
EconomyManager.DEFAULT_AM_MAX_SATIATED_BALANCE,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_MAX_CIRCULATION,
|
||||
new TareFactorData(mResources.getString(R.string.tare_max_circulation),
|
||||
EconomyManager.DEFAULT_AM_MAX_CIRCULATION));
|
||||
EconomyManager.DEFAULT_AM_MAX_CIRCULATION,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_REWARD_TOP_ACTIVITY_INSTANT,
|
||||
new TareFactorData(mResources.getString(R.string.tare_top_activity),
|
||||
EconomyManager.DEFAULT_AM_REWARD_TOP_ACTIVITY_INSTANT));
|
||||
EconomyManager.DEFAULT_AM_REWARD_TOP_ACTIVITY_INSTANT,
|
||||
POLICY_ALARM_MANAGER));
|
||||
// TODO: Add support to handle floats
|
||||
// mAlarmManagerMap.put(EconomyManager.KEY_AM_REWARD_TOP_ACTIVITY_ONGOING,
|
||||
// new TareFactorData(mResources.getString(R.string.tare_top_activity),
|
||||
// EconomyManager.DEFAULT_AM_REWARD_TOP_ACTIVITY_ONGOING));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_REWARD_TOP_ACTIVITY_MAX,
|
||||
new TareFactorData(mResources.getString(R.string.tare_top_activity),
|
||||
EconomyManager.DEFAULT_AM_REWARD_TOP_ACTIVITY_MAX));
|
||||
EconomyManager.DEFAULT_AM_REWARD_TOP_ACTIVITY_MAX, POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_REWARD_NOTIFICATION_SEEN_INSTANT,
|
||||
new TareFactorData(mResources.getString(R.string.tare_notification_seen),
|
||||
EconomyManager.DEFAULT_AM_REWARD_NOTIFICATION_SEEN_INSTANT));
|
||||
EconomyManager.DEFAULT_AM_REWARD_NOTIFICATION_SEEN_INSTANT,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_REWARD_NOTIFICATION_SEEN_ONGOING,
|
||||
new TareFactorData(mResources.getString(R.string.tare_notification_seen),
|
||||
EconomyManager.DEFAULT_AM_REWARD_NOTIFICATION_SEEN_ONGOING));
|
||||
EconomyManager.DEFAULT_AM_REWARD_NOTIFICATION_SEEN_ONGOING,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_REWARD_NOTIFICATION_SEEN_MAX,
|
||||
new TareFactorData(mResources.getString(R.string.tare_notification_seen),
|
||||
EconomyManager.DEFAULT_AM_REWARD_NOTIFICATION_SEEN_MAX));
|
||||
EconomyManager.DEFAULT_AM_REWARD_NOTIFICATION_SEEN_MAX,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_REWARD_NOTIFICATION_SEEN_WITHIN_15_INSTANT,
|
||||
new TareFactorData(mResources.getString(R.string.tare_notification_seen_15_min),
|
||||
EconomyManager.DEFAULT_AM_REWARD_NOTIFICATION_SEEN_WITHIN_15_INSTANT));
|
||||
EconomyManager.DEFAULT_AM_REWARD_NOTIFICATION_SEEN_WITHIN_15_INSTANT,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_REWARD_NOTIFICATION_SEEN_WITHIN_15_ONGOING,
|
||||
new TareFactorData(mResources.getString(R.string.tare_notification_seen_15_min),
|
||||
EconomyManager.DEFAULT_AM_REWARD_NOTIFICATION_SEEN_WITHIN_15_ONGOING));
|
||||
EconomyManager.DEFAULT_AM_REWARD_NOTIFICATION_SEEN_WITHIN_15_ONGOING,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_REWARD_NOTIFICATION_SEEN_WITHIN_15_MAX,
|
||||
new TareFactorData(mResources.getString(R.string.tare_notification_seen_15_min),
|
||||
EconomyManager.DEFAULT_AM_REWARD_NOTIFICATION_SEEN_WITHIN_15_MAX));
|
||||
EconomyManager.DEFAULT_AM_REWARD_NOTIFICATION_SEEN_WITHIN_15_MAX,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_REWARD_NOTIFICATION_INTERACTION_INSTANT,
|
||||
new TareFactorData(mResources.getString(R.string.tare_notification_interaction),
|
||||
EconomyManager.DEFAULT_AM_REWARD_NOTIFICATION_INTERACTION_INSTANT));
|
||||
EconomyManager.DEFAULT_AM_REWARD_NOTIFICATION_INTERACTION_INSTANT,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_REWARD_NOTIFICATION_INTERACTION_ONGOING,
|
||||
new TareFactorData(mResources.getString(R.string.tare_notification_interaction),
|
||||
EconomyManager.DEFAULT_AM_REWARD_NOTIFICATION_INTERACTION_ONGOING));
|
||||
EconomyManager.DEFAULT_AM_REWARD_NOTIFICATION_INTERACTION_ONGOING,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_REWARD_NOTIFICATION_INTERACTION_MAX,
|
||||
new TareFactorData(mResources.getString(R.string.tare_notification_interaction),
|
||||
EconomyManager.DEFAULT_AM_REWARD_NOTIFICATION_INTERACTION_MAX));
|
||||
EconomyManager.DEFAULT_AM_REWARD_NOTIFICATION_INTERACTION_MAX,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_REWARD_WIDGET_INTERACTION_INSTANT,
|
||||
new TareFactorData(mResources.getString(R.string.tare_widget_interaction),
|
||||
EconomyManager.DEFAULT_AM_REWARD_WIDGET_INTERACTION_INSTANT));
|
||||
EconomyManager.DEFAULT_AM_REWARD_WIDGET_INTERACTION_INSTANT,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_REWARD_WIDGET_INTERACTION_ONGOING,
|
||||
new TareFactorData(mResources.getString(R.string.tare_widget_interaction),
|
||||
EconomyManager.DEFAULT_AM_REWARD_WIDGET_INTERACTION_ONGOING));
|
||||
EconomyManager.DEFAULT_AM_REWARD_WIDGET_INTERACTION_ONGOING,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_REWARD_WIDGET_INTERACTION_MAX,
|
||||
new TareFactorData(mResources.getString(R.string.tare_widget_interaction),
|
||||
EconomyManager.DEFAULT_AM_REWARD_WIDGET_INTERACTION_MAX));
|
||||
EconomyManager.DEFAULT_AM_REWARD_WIDGET_INTERACTION_MAX,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_REWARD_OTHER_USER_INTERACTION_INSTANT,
|
||||
new TareFactorData(mResources.getString(R.string.tare_other_interaction),
|
||||
EconomyManager.DEFAULT_AM_REWARD_OTHER_USER_INTERACTION_INSTANT));
|
||||
EconomyManager.DEFAULT_AM_REWARD_OTHER_USER_INTERACTION_INSTANT,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_REWARD_OTHER_USER_INTERACTION_ONGOING,
|
||||
new TareFactorData(mResources.getString(R.string.tare_other_interaction),
|
||||
EconomyManager.DEFAULT_AM_REWARD_OTHER_USER_INTERACTION_ONGOING));
|
||||
EconomyManager.DEFAULT_AM_REWARD_OTHER_USER_INTERACTION_ONGOING,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_REWARD_OTHER_USER_INTERACTION_MAX,
|
||||
new TareFactorData(mResources.getString(R.string.tare_other_interaction),
|
||||
EconomyManager.DEFAULT_AM_REWARD_OTHER_USER_INTERACTION_MAX));
|
||||
EconomyManager.DEFAULT_AM_REWARD_OTHER_USER_INTERACTION_MAX,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_ACTION_ALARM_ALLOW_WHILE_IDLE_EXACT_WAKEUP_CTP,
|
||||
new TareFactorData(mResources.getString(R.string.tare_wakeup_exact_idle),
|
||||
EconomyManager.DEFAULT_AM_ACTION_ALARM_ALLOW_WHILE_IDLE_EXACT_WAKEUP_CTP));
|
||||
EconomyManager.DEFAULT_AM_ACTION_ALARM_ALLOW_WHILE_IDLE_EXACT_WAKEUP_CTP,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_ACTION_ALARM_ALLOW_WHILE_IDLE_INEXACT_WAKEUP_CTP,
|
||||
new TareFactorData(mResources.getString(R.string.tare_wakeup_inexact_idle),
|
||||
EconomyManager
|
||||
.DEFAULT_AM_ACTION_ALARM_ALLOW_WHILE_IDLE_INEXACT_WAKEUP_CTP));
|
||||
.DEFAULT_AM_ACTION_ALARM_ALLOW_WHILE_IDLE_INEXACT_WAKEUP_CTP,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_ACTION_ALARM_EXACT_WAKEUP_CTP,
|
||||
new TareFactorData(mResources.getString(R.string.tare_wakeup_exact),
|
||||
EconomyManager.DEFAULT_AM_ACTION_ALARM_EXACT_WAKEUP_CTP));
|
||||
EconomyManager.DEFAULT_AM_ACTION_ALARM_EXACT_WAKEUP_CTP,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_ACTION_ALARM_INEXACT_WAKEUP_CTP,
|
||||
new TareFactorData(mResources.getString(R.string.tare_wakeup_inexact),
|
||||
EconomyManager.DEFAULT_AM_ACTION_ALARM_INEXACT_WAKEUP_CTP));
|
||||
EconomyManager.DEFAULT_AM_ACTION_ALARM_INEXACT_WAKEUP_CTP,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(
|
||||
EconomyManager.KEY_AM_ACTION_ALARM_ALLOW_WHILE_IDLE_EXACT_NONWAKEUP_CTP,
|
||||
new TareFactorData(mResources.getString(R.string.tare_nonwakeup_exact_idle),
|
||||
EconomyManager
|
||||
.DEFAULT_AM_ACTION_ALARM_ALLOW_WHILE_IDLE_EXACT_NONWAKEUP_CTP));
|
||||
.DEFAULT_AM_ACTION_ALARM_ALLOW_WHILE_IDLE_EXACT_NONWAKEUP_CTP,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_ACTION_ALARM_EXACT_NONWAKEUP_CTP,
|
||||
new TareFactorData(mResources.getString(R.string.tare_nonwakeup_exact),
|
||||
EconomyManager.DEFAULT_AM_ACTION_ALARM_EXACT_NONWAKEUP_CTP));
|
||||
EconomyManager.DEFAULT_AM_ACTION_ALARM_EXACT_NONWAKEUP_CTP,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(
|
||||
EconomyManager.KEY_AM_ACTION_ALARM_ALLOW_WHILE_IDLE_INEXACT_NONWAKEUP_CTP,
|
||||
new TareFactorData(mResources.getString(R.string.tare_nonwakeup_inexact_idle),
|
||||
EconomyManager
|
||||
.DEFAULT_AM_ACTION_ALARM_ALLOW_WHILE_IDLE_INEXACT_NONWAKEUP_CTP));
|
||||
.DEFAULT_AM_ACTION_ALARM_ALLOW_WHILE_IDLE_INEXACT_NONWAKEUP_CTP,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_ACTION_ALARM_INEXACT_NONWAKEUP_CTP,
|
||||
new TareFactorData(mResources.getString(R.string.tare_nonwakeup_inexact),
|
||||
EconomyManager.DEFAULT_AM_ACTION_ALARM_INEXACT_NONWAKEUP_CTP));
|
||||
EconomyManager.DEFAULT_AM_ACTION_ALARM_INEXACT_NONWAKEUP_CTP,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_ACTION_ALARM_ALARMCLOCK_CTP,
|
||||
new TareFactorData(mResources.getString(R.string.tare_alarm_clock),
|
||||
EconomyManager.DEFAULT_AM_ACTION_ALARM_ALARMCLOCK_CTP));
|
||||
EconomyManager.DEFAULT_AM_ACTION_ALARM_ALARMCLOCK_CTP,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(
|
||||
EconomyManager.KEY_AM_ACTION_ALARM_ALLOW_WHILE_IDLE_EXACT_WAKEUP_BASE_PRICE,
|
||||
new TareFactorData(mResources.getString(R.string.tare_alarm_clock),
|
||||
EconomyManager
|
||||
.DEFAULT_AM_ACTION_ALARM_ALLOW_WHILE_IDLE_EXACT_WAKEUP_BASE_PRICE));
|
||||
.DEFAULT_AM_ACTION_ALARM_ALLOW_WHILE_IDLE_EXACT_WAKEUP_BASE_PRICE,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(
|
||||
EconomyManager.KEY_AM_ACTION_ALARM_ALLOW_WHILE_IDLE_INEXACT_WAKEUP_BASE_PRICE,
|
||||
new TareFactorData(mResources.getString(R.string.tare_alarm_clock),
|
||||
EconomyManager
|
||||
.DEFAULT_AM_ACTION_ALARM_ALLOW_WHILE_IDLE_INEXACT_WAKEUP_BASE_PRICE));
|
||||
.DEFAULT_AM_ACTION_ALARM_ALLOW_WHILE_IDLE_INEXACT_WAKEUP_BASE_PRICE,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_ACTION_ALARM_EXACT_WAKEUP_BASE_PRICE,
|
||||
new TareFactorData(mResources.getString(R.string.tare_alarm_clock),
|
||||
EconomyManager.DEFAULT_AM_ACTION_ALARM_EXACT_WAKEUP_BASE_PRICE));
|
||||
EconomyManager.DEFAULT_AM_ACTION_ALARM_EXACT_WAKEUP_BASE_PRICE,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_ACTION_ALARM_INEXACT_WAKEUP_BASE_PRICE,
|
||||
new TareFactorData(mResources.getString(R.string.tare_alarm_clock),
|
||||
EconomyManager.DEFAULT_AM_ACTION_ALARM_EXACT_WAKEUP_BASE_PRICE));
|
||||
EconomyManager.DEFAULT_AM_ACTION_ALARM_EXACT_WAKEUP_BASE_PRICE,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(
|
||||
EconomyManager.KEY_AM_ACTION_ALARM_ALLOW_WHILE_IDLE_EXACT_NONWAKEUP_BASE_PRICE,
|
||||
new TareFactorData(mResources.getString(R.string.tare_alarm_clock),
|
||||
EconomyManager.DEFAULT_AM_ACTION_ALARM_EXACT_WAKEUP_BASE_PRICE));
|
||||
EconomyManager.DEFAULT_AM_ACTION_ALARM_EXACT_WAKEUP_BASE_PRICE,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_ACTION_ALARM_EXACT_NONWAKEUP_BASE_PRICE,
|
||||
new TareFactorData(mResources.getString(R.string.tare_alarm_clock),
|
||||
EconomyManager.DEFAULT_AM_ACTION_ALARM_EXACT_WAKEUP_BASE_PRICE));
|
||||
EconomyManager.DEFAULT_AM_ACTION_ALARM_EXACT_WAKEUP_BASE_PRICE,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(
|
||||
EconomyManager.KEY_AM_ACTION_ALARM_ALLOW_WHILE_IDLE_INEXACT_NONWAKEUP_BASE_PRICE,
|
||||
new TareFactorData(mResources.getString(R.string.tare_alarm_clock),
|
||||
EconomyManager
|
||||
.DEFAULT_AM_ACTION_ALARM_ALLOW_WHILE_IDLE_INEXACT_NONWAKEUP_BASE_PRICE));
|
||||
.DEFAULT_AM_ACTION_ALARM_ALLOW_WHILE_IDLE_INEXACT_NONWAKEUP_BASE_PRICE,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_ACTION_ALARM_INEXACT_NONWAKEUP_BASE_PRICE,
|
||||
new TareFactorData(mResources.getString(R.string.tare_alarm_clock),
|
||||
EconomyManager.DEFAULT_AM_ACTION_ALARM_INEXACT_NONWAKEUP_BASE_PRICE));
|
||||
EconomyManager.DEFAULT_AM_ACTION_ALARM_INEXACT_NONWAKEUP_BASE_PRICE,
|
||||
POLICY_ALARM_MANAGER));
|
||||
mAlarmManagerMap.put(EconomyManager.KEY_AM_ACTION_ALARM_ALARMCLOCK_BASE_PRICE,
|
||||
new TareFactorData(mResources.getString(R.string.tare_alarm_clock),
|
||||
EconomyManager.DEFAULT_AM_ACTION_ALARM_ALARMCLOCK_BASE_PRICE));
|
||||
EconomyManager.DEFAULT_AM_ACTION_ALARM_ALARMCLOCK_BASE_PRICE,
|
||||
POLICY_ALARM_MANAGER));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -213,9 +254,9 @@ public class TareFactorController {
|
||||
} catch (Exception e) {
|
||||
Slog.e(TAG, "Bad value string constants", e);
|
||||
}
|
||||
int mSize = mParser.size();
|
||||
int size = mParser.size();
|
||||
|
||||
for (int i = 0; i < mSize - 1; i++) {
|
||||
for (int i = 0; i < size - 1; i++) {
|
||||
String key = mParser.keyAt(i);
|
||||
TareFactorData data = mAlarmManagerMap.get(key);
|
||||
data.currentValue = mParser.getInt(key, getDefaultValue(key));
|
||||
@@ -225,7 +266,7 @@ public class TareFactorController {
|
||||
/**
|
||||
* Takes a key as input and grabs the title linked to it.
|
||||
*
|
||||
* @param key the key of the factor you want to get the default value of
|
||||
* @param key the key of the factor you want to get the title of
|
||||
*/
|
||||
private String getTitle(String key) {
|
||||
return mAlarmManagerMap.get(key).title;
|
||||
@@ -240,13 +281,72 @@ public class TareFactorController {
|
||||
return mAlarmManagerMap.get(key).currentValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* Takes a key as input and grabs the factor type linked to it.
|
||||
*
|
||||
* @param key the key of the factor you want to get the factor type of
|
||||
*/
|
||||
private int getFactorType(String key) {
|
||||
return mAlarmManagerMap.get(key).factorPolicy;
|
||||
}
|
||||
|
||||
/**
|
||||
* Takes a key and edited value as input and assigns the new edited value to be the new current
|
||||
* value for that factors key.
|
||||
*
|
||||
* @param key the key of the factor you want to get the default value of
|
||||
* @param editedValue the value entered by the user in the dialog
|
||||
*/
|
||||
public void updateValue(String key, int editedValue, int factorPolicy) {
|
||||
switch (factorPolicy) {
|
||||
case POLICY_ALARM_MANAGER:
|
||||
mAlarmManagerMap.get(key).currentValue = editedValue;
|
||||
rebuildAlarmManagerConstants();
|
||||
break;
|
||||
case POLICY_JOB_SCHEDULER:
|
||||
// TODO: Add JobScheduler
|
||||
break;
|
||||
default:
|
||||
Slog.e(TAG, "Invalid factor policy given");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Iterates through the AM map for keys and current values to rebuild a current string that is
|
||||
* then assigned to be the new global settings string.
|
||||
*/
|
||||
private void rebuildAlarmManagerConstants() {
|
||||
StringBuilder newConstantsStringBuilder = new StringBuilder();
|
||||
|
||||
int size = mAlarmManagerMap.size();
|
||||
|
||||
for (int i = 0; i < size; i++) {
|
||||
if (i > 0) {
|
||||
newConstantsStringBuilder.append(",");
|
||||
}
|
||||
|
||||
String key = mAlarmManagerMap.keyAt(i);
|
||||
newConstantsStringBuilder.append(key + "=" + mAlarmManagerMap.get(key).currentValue);
|
||||
}
|
||||
|
||||
String newConstantsString = newConstantsStringBuilder.toString();
|
||||
|
||||
Settings.Global.putString(mContentResolver, Settings.Global.TARE_ALARM_MANAGER_CONSTANTS,
|
||||
newConstantsString);
|
||||
|
||||
mAlarmManagerConstants = Settings.Global
|
||||
.getString(mContentResolver, Settings.Global.TARE_ALARM_MANAGER_CONSTANTS);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a dialog with the values linked to the key.
|
||||
*
|
||||
* @param key the key of the factor you want to get the default value of
|
||||
*/
|
||||
public TareFactorDialogFragment createDialog(String key) {
|
||||
return new TareFactorDialogFragment(getTitle(key), key, getCurrentValue(key), this);
|
||||
return new TareFactorDialogFragment(getTitle(key), key, getCurrentValue(key),
|
||||
getFactorType(key), this);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -255,12 +355,14 @@ public class TareFactorController {
|
||||
private static class TareFactorData {
|
||||
public final String title;
|
||||
public final int defaultValue;
|
||||
public final int factorPolicy;
|
||||
public int currentValue;
|
||||
|
||||
TareFactorData(String title, int defaultValue) {
|
||||
TareFactorData(String title, int defaultValue, int factorPolicy) {
|
||||
this.title = title;
|
||||
this.defaultValue = defaultValue;
|
||||
currentValue = defaultValue;
|
||||
this.factorPolicy = factorPolicy;
|
||||
this.currentValue = defaultValue;
|
||||
}
|
||||
}
|
||||
}
|
@@ -42,6 +42,7 @@ public class TareFactorDialogFragment extends DialogFragment {
|
||||
private final String mFactorKey;
|
||||
private final String mFactorTitle;
|
||||
private final int mFactorValue;
|
||||
private final int mFactorPolicy;
|
||||
private int mFactorEditedValue;
|
||||
|
||||
private EditText mFactorValueView;
|
||||
@@ -53,10 +54,11 @@ public class TareFactorDialogFragment extends DialogFragment {
|
||||
* @param defaultValue the initial value set for the Factor before any changes
|
||||
*/
|
||||
public TareFactorDialogFragment(@NonNull String title, @NonNull String key, int defaultValue,
|
||||
TareFactorController tareFactorController) {
|
||||
int factorPolicy, TareFactorController tareFactorController) {
|
||||
mFactorTitle = title;
|
||||
mFactorKey = key;
|
||||
mFactorValue = defaultValue;
|
||||
mFactorPolicy = factorPolicy;
|
||||
mTareFactorController = tareFactorController;
|
||||
}
|
||||
|
||||
@@ -84,7 +86,8 @@ public class TareFactorDialogFragment extends DialogFragment {
|
||||
Log.e(TAG, "Error converting '" + stringValue + "' to integer. Using "
|
||||
+ mFactorValue + " instead", e);
|
||||
}
|
||||
// TODO: Update csv with new factor value
|
||||
mTareFactorController.updateValue(mFactorKey, mFactorEditedValue,
|
||||
mFactorPolicy);
|
||||
})
|
||||
.setNegativeButton(android.R.string.cancel, (dialog, which) -> {
|
||||
// When the negative button is clicked do nothing
|
||||
|
Reference in New Issue
Block a user