Merge "Add summary for autoclick cursor size row" into main
This commit is contained in:
@@ -35,6 +35,7 @@ import androidx.lifecycle.Lifecycle;
|
||||
import androidx.lifecycle.LifecycleObserver;
|
||||
import androidx.lifecycle.OnLifecycleEvent;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.server.accessibility.Flags;
|
||||
import com.android.settings.R;
|
||||
@@ -59,6 +60,7 @@ public class ToggleAutoclickCursorAreaSizeController extends BasePreferenceContr
|
||||
|
||||
private final ContentResolver mContentResolver;
|
||||
private final SharedPreferences mSharedPreferences;
|
||||
private Preference mPreference;
|
||||
protected AlertDialog mAlertDialog;
|
||||
|
||||
public ToggleAutoclickCursorAreaSizeController(@NonNull Context context,
|
||||
@@ -83,6 +85,13 @@ public class ToggleAutoclickCursorAreaSizeController extends BasePreferenceContr
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void displayPreference(PreferenceScreen screen) {
|
||||
super.displayPreference(screen);
|
||||
|
||||
mPreference = screen.findPreference(getPreferenceKey());
|
||||
}
|
||||
|
||||
protected void constructDialog(Context context) {
|
||||
mAlertDialog = new AlertDialog.Builder(context)
|
||||
.setView(R.layout.dialog_autoclick_cursor_area_size)
|
||||
@@ -139,12 +148,32 @@ public class ToggleAutoclickCursorAreaSizeController extends BasePreferenceContr
|
||||
// TODO(b/383901288): Update slider if interested preference has changed.
|
||||
}
|
||||
|
||||
@Override
|
||||
public CharSequence getSummary() {
|
||||
int autoclickCursorSize = validateSize(Settings.Secure.getInt(mContentResolver,
|
||||
Settings.Secure.ACCESSIBILITY_AUTOCLICK_CURSOR_AREA_SIZE,
|
||||
AccessibilityManager.AUTOCLICK_CURSOR_AREA_SIZE_DEFAULT));
|
||||
int summaryStringId;
|
||||
switch (autoclickCursorSize) {
|
||||
case 100 -> summaryStringId =
|
||||
R.string.autoclick_cursor_area_size_dialog_option_extra_large;
|
||||
case 80 -> summaryStringId = R.string.autoclick_cursor_area_size_dialog_option_large;
|
||||
case 40 -> summaryStringId = R.string.autoclick_cursor_area_size_dialog_option_small;
|
||||
case 20 -> summaryStringId =
|
||||
R.string.autoclick_cursor_area_size_dialog_option_extra_small;
|
||||
default -> summaryStringId = R.string.autoclick_cursor_area_size_dialog_option_default;
|
||||
}
|
||||
|
||||
return mContext.getString(summaryStringId);
|
||||
}
|
||||
|
||||
/** Updates autoclick cursor area size. */
|
||||
public void updateAutoclickCursorAreaSize(int size) {
|
||||
Settings.Secure.putInt(
|
||||
mContentResolver,
|
||||
Settings.Secure.ACCESSIBILITY_AUTOCLICK_CURSOR_AREA_SIZE,
|
||||
validateSize(size));
|
||||
refreshSummary(mPreference);
|
||||
}
|
||||
|
||||
private int validateSize(int size) {
|
||||
|
@@ -80,6 +80,15 @@ public class ToggleAutoclickCursorAreaSizeControllerTest {
|
||||
.isEqualTo(BasePreferenceController.AVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSummary() {
|
||||
mController.updateAutoclickCursorAreaSize(
|
||||
mController.RADIO_BUTTON_ID_TO_CURSOR_SIZE.get(
|
||||
R.id.autoclick_cursor_area_size_value_large));
|
||||
assertThat(mController.getSummary()).isEqualTo(
|
||||
mContext.getString(R.string.autoclick_cursor_area_size_dialog_option_large));
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisableFlags(com.android.server.accessibility.Flags.FLAG_ENABLE_AUTOCLICK_INDICATOR)
|
||||
public void getAvailabilityStatus_conditionallyUnavailableWhenFlagOn() {
|
||||
|
Reference in New Issue
Block a user