Support autoclick secondary action (3/n)

Changeed autoclick preference summary unit from ms to second.

Bug: 146019277
Test: manual
Change-Id: Ib5dcc2459716277cd278c1e19dbb99bb540b25ce
This commit is contained in:
ChenJean
2020-02-07 16:30:47 +08:00
parent 978b19ec63
commit b30e394305
3 changed files with 35 additions and 30 deletions

View File

@@ -19,6 +19,9 @@ package com.android.settings.accessibility;
import static com.android.settings.accessibility.ToggleAutoclickCustomSeekbarController.MAX_AUTOCLICK_DELAY_MS;
import static com.android.settings.accessibility.ToggleAutoclickCustomSeekbarController.MIN_AUTOCLICK_DELAY_MS;
import static java.lang.annotation.RetentionPolicy.SOURCE;
import android.annotation.IntDef;
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.res.Resources;
@@ -32,6 +35,7 @@ import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.search.SearchIndexable;
import java.lang.annotation.Retention;
import java.util.ArrayList;
import java.util.List;
@@ -46,6 +50,16 @@ public class ToggleAutoclickPreferenceFragment extends DashboardFragment
private static final String TAG = "AutoclickPrefFragment";
private static final List<AbstractPreferenceController> sControllers = new ArrayList<>();
@Retention(SOURCE)
@IntDef({
Quantity.OTHER,
Quantity.ONE
})
@interface Quantity {
int OTHER = 0;
int ONE = 1;
}
/**
* Resource ids from which autoclick preference summaries should be derived. The strings have
* placeholder for integer delay value.
@@ -63,12 +77,17 @@ public class ToggleAutoclickPreferenceFragment extends DashboardFragment
* delay.
*
* @param resources Resources from which string should be retrieved.
* @param delay Delay for whose value summary should be retrieved.
* @param delayMillis Delay for whose value summary should be retrieved.
*/
static CharSequence getAutoclickPreferenceSummary(Resources resources, int delay) {
int summaryIndex = getAutoclickPreferenceSummaryIndex(delay);
return resources.getQuantityString(
mAutoclickPreferenceSummaries[summaryIndex], delay, delay);
static CharSequence getAutoclickPreferenceSummary(Resources resources, int delayMillis) {
final int summaryIndex = getAutoclickPreferenceSummaryIndex(delayMillis);
final int quantity = (delayMillis == 1000) ? Quantity.ONE : Quantity.OTHER;
final float delaySecond = (float) delayMillis / 1000;
// Only show integer when delay time is 1.
final String decimalFormat = (delaySecond == 1) ? "%.0f" : "%.1f";
return resources.getQuantityString(mAutoclickPreferenceSummaries[summaryIndex],
quantity, String.format(decimalFormat, delaySecond));
}
/**