Merge "Moves lock screen shortcuts summary loading to the background." into udc-dev am: 8ae1abecc1
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/22260969 Change-Id: I57df2e5887e41f1cb09bf78914f1289488540adf Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -26,6 +26,7 @@ import androidx.preference.PreferenceScreen;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settingslib.utils.ThreadUtils;
|
||||
|
||||
/**
|
||||
* Preference for accessing an experience to customize lock screen quick affordances.
|
||||
@@ -65,7 +66,11 @@ public class CustomizableLockScreenQuickAffordancesPreferenceController extends
|
||||
}
|
||||
|
||||
@Override
|
||||
public CharSequence getSummary() {
|
||||
return CustomizableLockScreenUtils.getQuickAffordanceSummary(mContext);
|
||||
protected void refreshSummary(Preference preference) {
|
||||
ThreadUtils.postOnBackgroundThread(() -> {
|
||||
final CharSequence summary =
|
||||
CustomizableLockScreenUtils.getQuickAffordanceSummary(mContext);
|
||||
ThreadUtils.postOnMainThread(() -> preference.setSummary(summary));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@@ -35,7 +35,6 @@ import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.ResolveInfo;
|
||||
import android.database.MatrixCursor;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
@@ -43,6 +42,7 @@ import androidx.test.core.app.ApplicationProvider;
|
||||
import androidx.test.filters.SmallTest;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.testutils.shadow.ShadowThreadUtils;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -71,6 +71,7 @@ public class CustomizableLockScreenQuickAffordancesPreferenceControllerTest {
|
||||
when(mContext.getResources())
|
||||
.thenReturn(ApplicationProvider.getApplicationContext().getResources());
|
||||
when(mContext.getPackageManager()).thenReturn(mPackageManager);
|
||||
ShadowThreadUtils.setIsMainThread(true);
|
||||
|
||||
mUnderTest = new CustomizableLockScreenQuickAffordancesPreferenceController(mContext, KEY);
|
||||
}
|
||||
@@ -99,11 +100,7 @@ public class CustomizableLockScreenQuickAffordancesPreferenceControllerTest {
|
||||
@Test
|
||||
public void displayPreference_click() {
|
||||
setSelectedAffordanceNames("one", "two");
|
||||
final PreferenceScreen screen = mock(PreferenceScreen.class);
|
||||
final Preference preference = mock(Preference.class);
|
||||
when(screen.findPreference(KEY)).thenReturn(preference);
|
||||
|
||||
mUnderTest.displayPreference(screen);
|
||||
final Preference preference = invokeDisplayPreference();
|
||||
|
||||
final ArgumentCaptor<Preference.OnPreferenceClickListener> clickCaptor =
|
||||
ArgumentCaptor.forClass(Preference.OnPreferenceClickListener.class);
|
||||
@@ -124,22 +121,25 @@ public class CustomizableLockScreenQuickAffordancesPreferenceControllerTest {
|
||||
@Test
|
||||
public void getSummary_whenNoneAreSelected() {
|
||||
setSelectedAffordanceNames();
|
||||
final Preference preference = invokeDisplayPreference();
|
||||
|
||||
assertThat(mUnderTest.getSummary()).isNull();
|
||||
verify(preference).setSummary(null);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSummary_whenOneIsSelected() {
|
||||
setSelectedAffordanceNames("one");
|
||||
final Preference preference = invokeDisplayPreference();
|
||||
|
||||
assertThat(TextUtils.equals(mUnderTest.getSummary(), "one")).isTrue();
|
||||
verify(preference).setSummary("one");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSummary_whenTwoAreSelected() {
|
||||
setSelectedAffordanceNames("one", "two");
|
||||
final Preference preference = invokeDisplayPreference();
|
||||
|
||||
assertThat(TextUtils.equals(mUnderTest.getSummary(), "one, two")).isTrue();
|
||||
verify(preference).setSummary("one, two");
|
||||
}
|
||||
|
||||
private void setEnabled(boolean isWallpaperPickerInstalled, boolean isFeatureEnabled) {
|
||||
@@ -183,4 +183,12 @@ public class CustomizableLockScreenQuickAffordancesPreferenceControllerTest {
|
||||
CustomizableLockScreenUtils.SELECTIONS_URI, null, null, null))
|
||||
.thenReturn(cursor);
|
||||
}
|
||||
|
||||
private Preference invokeDisplayPreference() {
|
||||
final PreferenceScreen screen = mock(PreferenceScreen.class);
|
||||
final Preference preference = mock(Preference.class);
|
||||
when(screen.findPreference(KEY)).thenReturn(preference);
|
||||
mUnderTest.displayPreference(screen);
|
||||
return preference;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user