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
This commit is contained in:
Yanting Yang
2018-11-21 18:48:36 +08:00
parent b0bed799c0
commit e11c1d0382
3 changed files with 16 additions and 68 deletions

View File

@@ -23,7 +23,6 @@ import static androidx.slice.widget.SliceLiveData.SUPPORTED_SPECS;
import android.content.ContentProviderClient; import android.content.ContentProviderClient;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
import android.content.pm.PackageManager;
import android.database.ContentObserver; import android.database.ContentObserver;
import android.database.Cursor; import android.database.Cursor;
import android.net.Uri; import android.net.Uri;
@@ -35,7 +34,6 @@ import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import androidx.slice.Slice; import androidx.slice.Slice;
import com.android.settings.homepage.contextualcards.deviceinfo.BatterySlice;
import com.android.settings.homepage.contextualcards.slices.ConnectedDeviceSlice; import com.android.settings.homepage.contextualcards.slices.ConnectedDeviceSlice;
import com.android.settings.wifi.WifiSlice; import com.android.settings.wifi.WifiSlice;
import com.android.settingslib.utils.AsyncLoaderCompat; import com.android.settingslib.utils.AsyncLoaderCompat;
@@ -52,11 +50,17 @@ public class ContextualCardLoader extends AsyncLoaderCompat<List<ContextualCard>
private static final String TAG = "ContextualCardLoader"; 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 { private Context mContext;
void onFinishCardLoading(List<ContextualCard> contextualCards);
}
ContextualCardLoader(Context context) { ContextualCardLoader(Context context) {
super(context); super(context);
@@ -86,9 +90,7 @@ public class ContextualCardLoader extends AsyncLoaderCompat<List<ContextualCard>
public List<ContextualCard> loadInBackground() { public List<ContextualCard> loadInBackground() {
final List<ContextualCard> result = new ArrayList<>(); final List<ContextualCard> result = new ArrayList<>();
try (Cursor cursor = getContextualCardsFromProvider()) { try (Cursor cursor = getContextualCardsFromProvider()) {
if (cursor.getCount() == 0) { if (cursor.getCount() > 0) {
result.addAll(createStaticCards());
} else {
for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
final ContextualCard card = new ContextualCard(cursor); final ContextualCard card = new ContextualCard(cursor);
if (card.isCustomCard()) { if (card.isCustomCard()) {
@@ -130,24 +132,6 @@ public class ContextualCardLoader extends AsyncLoaderCompat<List<ContextualCard>
return CardDatabaseHelper.getInstance(mContext).getContextualCards(); return CardDatabaseHelper.getInstance(mContext).getContextualCards();
} }
@VisibleForTesting
List<ContextualCard> createStaticCards() {
final long appVersionCode = getAppVersionCode();
final String packageName = mContext.getPackageName();
final double rankingScore = 0.0;
final List<ContextualCard> 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 @VisibleForTesting
List<ContextualCard> filterEligibleCards(List<ContextualCard> candidates) { List<ContextualCard> filterEligibleCards(List<ContextualCard> candidates) {
return candidates.stream().filter(card -> isCardEligibleToDisplay(card)) return candidates.stream().filter(card -> isCardEligibleToDisplay(card))
@@ -191,23 +175,7 @@ public class ContextualCardLoader extends AsyncLoaderCompat<List<ContextualCard>
.count(); .count();
} }
private long getAppVersionCode() { public interface CardContentLoaderListener {
try { void onFinishCardLoading(List<ContextualCard> contextualCards);
return mContext.getPackageManager().getPackageInfo(mContext.getPackageName(),
0 /* flags */).getLongVersionCode();
} catch (PackageManager.NameNotFoundException e) {
Log.e(TAG, "Invalid package name for context", e);
}
return -1L;
} }
private final ContentObserver mObserver = new ContentObserver(
new Handler(Looper.getMainLooper())) {
@Override
public void onChange(boolean selfChange) {
if (isStarted()) {
forceLoad();
}
}
};
} }

View File

@@ -20,7 +20,6 @@ import static android.provider.SettingsSlicesContract.KEY_WIFI;
import android.annotation.Nullable; 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.BatteryFixSlice;
import com.android.settings.homepage.contextualcards.slices.ConnectedDeviceSlice; import com.android.settings.homepage.contextualcards.slices.ConnectedDeviceSlice;
import com.android.settings.homepage.contextualcards.slices.LowStorageSlice; import com.android.settings.homepage.contextualcards.slices.LowStorageSlice;
@@ -44,12 +43,6 @@ public class SettingsContextualCardProvider extends ContextualCardProvider {
.setCardName(KEY_WIFI) .setCardName(KEY_WIFI)
.setCardCategory(ContextualCard.Category.IMPORTANT) .setCardCategory(ContextualCard.Category.IMPORTANT)
.build(); .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 = final ContextualCard connectedDeviceCard =
ContextualCard.newBuilder() ContextualCard.newBuilder()
.setSliceUri(ConnectedDeviceSlice.CONNECTED_DEVICE_URI.toString()) .setSliceUri(ConnectedDeviceSlice.CONNECTED_DEVICE_URI.toString())
@@ -70,7 +63,6 @@ public class SettingsContextualCardProvider extends ContextualCardProvider {
.build(); .build();
final ContextualCardList cards = ContextualCardList.newBuilder() final ContextualCardList cards = ContextualCardList.newBuilder()
.addCard(wifiCard) .addCard(wifiCard)
.addCard(batteryInfoCard)
.addCard(connectedDeviceCard) .addCard(connectedDeviceCard)
.addCard(lowStorageCard) .addCard(lowStorageCard)
.addCard(batteryFixCard) .addCard(batteryFixCard)

View File

@@ -40,7 +40,6 @@ import org.robolectric.RuntimeEnvironment;
import org.robolectric.shadows.ShadowContentResolver; import org.robolectric.shadows.ShadowContentResolver;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -60,17 +59,6 @@ public class ContextualCardLoaderTest {
mProvider); mProvider);
} }
@Test
public void createStaticCards_shouldContainCorrectCards() {
final Uri batteryInfo = BatterySlice.BATTERY_CARD_URI;
final List<Uri> expectedUris = Arrays.asList(batteryInfo);
final List<Uri> actualCardUris = mContextualCardLoader.createStaticCards().stream().map(
ContextualCard::getSliceUri).collect(Collectors.toList());
assertThat(actualCardUris).containsExactlyElementsIn(expectedUris);
}
@Test @Test
public void isCardEligibleToDisplay_customCard_returnTrue() { public void isCardEligibleToDisplay_customCard_returnTrue() {
final ContextualCard customCard = new ContextualCard.Builder() final ContextualCard customCard = new ContextualCard.Builder()