Fix that the user has no way of knowing if the reset was successful.

Goal:
Added the new confirm dialog into to warn users.

Bug: 220126995
Bug: 222419452
Test: make RunSettingsRoboTests ROBOTEST_FILTER=TextReadingResetControllerTest
Change-Id: Id6e3ebdd6e9990996a5a4f12d9d19e28d3d58a13
This commit is contained in:
Peter_Liang
2022-03-18 18:01:36 +08:00
parent e7b38f27a3
commit caa28b6e1f
5 changed files with 79 additions and 53 deletions

View File

@@ -19,25 +19,23 @@ package com.android.settings.accessibility;
import android.content.Context;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
import com.android.settingslib.widget.LayoutPreference;
import java.util.List;
/**
* The controller of the reset button in the text and reading options page.
*/
class TextReadingResetController extends BasePreferenceController {
private final List<ResetStateListener> mListeners;
private final View.OnClickListener mOnResetClickListener;
TextReadingResetController(Context context, String preferenceKey,
@NonNull List<ResetStateListener> listeners) {
@Nullable View.OnClickListener listener) {
super(context, preferenceKey);
mListeners = listeners;
mOnResetClickListener = listener;
}
@Override
@@ -51,7 +49,11 @@ class TextReadingResetController extends BasePreferenceController {
final LayoutPreference layoutPreference = screen.findPreference(getPreferenceKey());
final View view = layoutPreference.findViewById(R.id.reset_button);
view.setOnClickListener(v -> mListeners.forEach(ResetStateListener::resetState));
view.setOnClickListener(v -> {
if (mOnResetClickListener != null) {
mOnResetClickListener.onClick(v);
}
});
}
/**