From e11c1d03824941850c331d7fd25adb8bfc07b274 Mon Sep 17 00:00:00 2001 From: Yanting Yang Date: Wed, 21 Nov 2018 18:48:36 +0800 Subject: [PATCH] Stop showing battery card in homepage In previous design, we add default card feature for "me Card". But "me Card" is being built by another team. We have removed related cards from default card feature in ag/5394464 but battery card. Now, remove it. Fixes: 119819851 Test: robotests Change-Id: I445546024c80c227abce649008ec648340577e99 --- .../contextualcards/ContextualCardLoader.java | 60 +++++-------------- .../SettingsContextualCardProvider.java | 10 +--- .../ContextualCardLoaderTest.java | 14 +---- 3 files changed, 16 insertions(+), 68 deletions(-) diff --git a/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java b/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java index c723cfd0245..4c06601a431 100644 --- a/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java +++ b/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java @@ -23,7 +23,6 @@ import static androidx.slice.widget.SliceLiveData.SUPPORTED_SPECS; import android.content.ContentProviderClient; import android.content.ContentResolver; import android.content.Context; -import android.content.pm.PackageManager; import android.database.ContentObserver; import android.database.Cursor; import android.net.Uri; @@ -35,7 +34,6 @@ import androidx.annotation.NonNull; import androidx.annotation.VisibleForTesting; import androidx.slice.Slice; -import com.android.settings.homepage.contextualcards.deviceinfo.BatterySlice; import com.android.settings.homepage.contextualcards.slices.ConnectedDeviceSlice; import com.android.settings.wifi.WifiSlice; import com.android.settingslib.utils.AsyncLoaderCompat; @@ -52,11 +50,17 @@ public class ContextualCardLoader extends AsyncLoaderCompat private static final String TAG = "ContextualCardLoader"; - private Context mContext; + private final ContentObserver mObserver = new ContentObserver( + new Handler(Looper.getMainLooper())) { + @Override + public void onChange(boolean selfChange) { + if (isStarted()) { + forceLoad(); + } + } + }; - public interface CardContentLoaderListener { - void onFinishCardLoading(List contextualCards); - } + private Context mContext; ContextualCardLoader(Context context) { super(context); @@ -86,9 +90,7 @@ public class ContextualCardLoader extends AsyncLoaderCompat public List loadInBackground() { final List result = new ArrayList<>(); try (Cursor cursor = getContextualCardsFromProvider()) { - if (cursor.getCount() == 0) { - result.addAll(createStaticCards()); - } else { + if (cursor.getCount() > 0) { for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { final ContextualCard card = new ContextualCard(cursor); if (card.isCustomCard()) { @@ -130,24 +132,6 @@ public class ContextualCardLoader extends AsyncLoaderCompat return CardDatabaseHelper.getInstance(mContext).getContextualCards(); } - @VisibleForTesting - List createStaticCards() { - final long appVersionCode = getAppVersionCode(); - final String packageName = mContext.getPackageName(); - final double rankingScore = 0.0; - final List result = new ArrayList(); - result.add(new ContextualCard.Builder() - .setSliceUri(BatterySlice.BATTERY_CARD_URI) - .setName(BatterySlice.PATH_BATTERY_INFO) - .setPackageName(packageName) - .setRankingScore(rankingScore) - .setAppVersion(appVersionCode) - .setCardType(ContextualCard.CardType.SLICE) - .setIsHalfWidth(false) - .build()); - return result; - } - @VisibleForTesting List filterEligibleCards(List candidates) { return candidates.stream().filter(card -> isCardEligibleToDisplay(card)) @@ -191,23 +175,7 @@ public class ContextualCardLoader extends AsyncLoaderCompat .count(); } - private long getAppVersionCode() { - try { - return mContext.getPackageManager().getPackageInfo(mContext.getPackageName(), - 0 /* flags */).getLongVersionCode(); - } catch (PackageManager.NameNotFoundException e) { - Log.e(TAG, "Invalid package name for context", e); - } - return -1L; + public interface CardContentLoaderListener { + void onFinishCardLoading(List contextualCards); } - - private final ContentObserver mObserver = new ContentObserver( - new Handler(Looper.getMainLooper())) { - @Override - public void onChange(boolean selfChange) { - if (isStarted()) { - forceLoad(); - } - } - }; -} +} \ No newline at end of file diff --git a/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProvider.java b/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProvider.java index db3fddc8a93..5ff3e909e42 100644 --- a/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProvider.java +++ b/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProvider.java @@ -20,7 +20,6 @@ import static android.provider.SettingsSlicesContract.KEY_WIFI; import android.annotation.Nullable; -import com.android.settings.homepage.contextualcards.deviceinfo.BatterySlice; import com.android.settings.homepage.contextualcards.slices.BatteryFixSlice; import com.android.settings.homepage.contextualcards.slices.ConnectedDeviceSlice; import com.android.settings.homepage.contextualcards.slices.LowStorageSlice; @@ -44,12 +43,6 @@ public class SettingsContextualCardProvider extends ContextualCardProvider { .setCardName(KEY_WIFI) .setCardCategory(ContextualCard.Category.IMPORTANT) .build(); - final ContextualCard batteryInfoCard = - ContextualCard.newBuilder() - .setSliceUri(BatterySlice.BATTERY_CARD_URI.toString()) - .setCardName(BatterySlice.PATH_BATTERY_INFO) - .setCardCategory(ContextualCard.Category.DEFAULT) - .build(); final ContextualCard connectedDeviceCard = ContextualCard.newBuilder() .setSliceUri(ConnectedDeviceSlice.CONNECTED_DEVICE_URI.toString()) @@ -70,7 +63,6 @@ public class SettingsContextualCardProvider extends ContextualCardProvider { .build(); final ContextualCardList cards = ContextualCardList.newBuilder() .addCard(wifiCard) - .addCard(batteryInfoCard) .addCard(connectedDeviceCard) .addCard(lowStorageCard) .addCard(batteryFixCard) @@ -78,4 +70,4 @@ public class SettingsContextualCardProvider extends ContextualCardProvider { return cards; } -} +} \ No newline at end of file diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java index f9eda497cb2..e8cb67474bb 100644 --- a/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java +++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java @@ -40,7 +40,6 @@ import org.robolectric.RuntimeEnvironment; import org.robolectric.shadows.ShadowContentResolver; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; @@ -60,17 +59,6 @@ public class ContextualCardLoaderTest { mProvider); } - @Test - public void createStaticCards_shouldContainCorrectCards() { - final Uri batteryInfo = BatterySlice.BATTERY_CARD_URI; - final List expectedUris = Arrays.asList(batteryInfo); - - final List actualCardUris = mContextualCardLoader.createStaticCards().stream().map( - ContextualCard::getSliceUri).collect(Collectors.toList()); - - assertThat(actualCardUris).containsExactlyElementsIn(expectedUris); - } - @Test public void isCardEligibleToDisplay_customCard_returnTrue() { final ContextualCard customCard = new ContextualCard.Builder() @@ -224,4 +212,4 @@ public class ContextualCardLoaderTest { .build()); return cards; } -} +} \ No newline at end of file