Password settings: Fix UI flicker from loading summary
Adds a placeholder summary string so the UI doesn't shift when the
summary is updated.
Also disables debug logging.
Fix: 191939601
Test: manual
Change-Id: If6027f101a6bad022501f7ba6c6ab576341f0ce4
diff --git a/src/com/android/settings/applications/autofill/PasswordsPreferenceController.java b/src/com/android/settings/applications/autofill/PasswordsPreferenceController.java
index 8e43853..7cbbf6d 100644
--- a/src/com/android/settings/applications/autofill/PasswordsPreferenceController.java
+++ b/src/com/android/settings/applications/autofill/PasswordsPreferenceController.java
@@ -67,6 +67,7 @@
public class PasswordsPreferenceController extends BasePreferenceController
implements LifecycleObserver {
private static final String TAG = "AutofillSettings";
+ private static final boolean DEBUG = false;
private final PackageManager mPm;
private final IconDrawableFactory mIconFactory;
@@ -128,6 +129,8 @@
pref.setIntent(
new Intent(Intent.ACTION_MAIN)
.setClassName(serviceInfo.packageName, service.getPasswordsActivity()));
+ // Set an empty summary to avoid a UI flicker when the value loads.
+ pref.setSummary(R.string.summary_placeholder);
final MutableLiveData<Integer> passwordCount = new MutableLiveData<>();
passwordCount.observe(
@@ -172,15 +175,18 @@
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
final IAutoFillService autofillService = IAutoFillService.Stub.asInterface(service);
- // TODO check if debug is logged on user build.
- Log.d(TAG, "Fetching password count from " + name);
+ if (DEBUG) {
+ Log.d(TAG, "Fetching password count from " + name);
+ }
try {
autofillService.onSavedPasswordCountRequest(
new IResultReceiver.Stub() {
@Override
public void send(int resultCode, Bundle resultData) {
- Log.d(TAG, "Received password count result " + resultCode
- + " from " + name);
+ if (DEBUG) {
+ Log.d(TAG, "Received password count result " + resultCode
+ + " from " + name);
+ }
if (resultCode == 0 && resultData != null) {
mData.postValue(resultData.getInt(EXTRA_RESULT));
}