diff --git a/res/drawable-hdpi/ic_grayedout_printer.png b/res/drawable-hdpi/ic_grayedout_printer.png
deleted file mode 100644
index 5e54970d6b3..00000000000
Binary files a/res/drawable-hdpi/ic_grayedout_printer.png and /dev/null differ
diff --git a/res/drawable-mdpi/ic_grayedout_printer.png b/res/drawable-mdpi/ic_grayedout_printer.png
deleted file mode 100644
index 5e54970d6b3..00000000000
Binary files a/res/drawable-mdpi/ic_grayedout_printer.png and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_grayedout_printer.png b/res/drawable-xhdpi/ic_grayedout_printer.png
deleted file mode 100644
index 5e54970d6b3..00000000000
Binary files a/res/drawable-xhdpi/ic_grayedout_printer.png and /dev/null differ
diff --git a/res/drawable/ic_add_24dp.xml b/res/drawable/ic_add_24dp.xml
index f8c93ee9034..71969814df6 100644
--- a/res/drawable/ic_add_24dp.xml
+++ b/res/drawable/ic_add_24dp.xml
@@ -21,6 +21,6 @@
android:tint="?android:attr/colorControlNormal">
+ android:pathData="M20,13h-7v7h-2v-7H4v-2h7V4h2v7h7V13z"/>
diff --git a/res/layout/empty_print_state.xml b/res/layout/empty_print_state.xml
index 361bf3c1f52..43312c8c267 100644
--- a/res/layout/empty_print_state.xml
+++ b/res/layout/empty_print_state.xml
@@ -14,48 +14,40 @@
limitations under the License.
-->
-
+
-
+
+
+ android:textAppearance="?android:attr/textAppearanceLarge"
+ android:textColor="?android:attr/textColorSecondary" />
-
-
+
-
-
-
-
-
-
-
-
+
diff --git a/res/layout/empty_printers_list_service_enabled.xml b/res/layout/empty_printers_list_service_enabled.xml
index 8cc8db448e0..481f9c0c152 100644
--- a/res/layout/empty_printers_list_service_enabled.xml
+++ b/res/layout/empty_printers_list_service_enabled.xml
@@ -14,45 +14,38 @@
limitations under the License.
-->
-
+
-
+
+
+ android:textAppearance="?android:attr/textAppearanceLarge"
+ android:textColor="?android:attr/textColorSecondary"
+ android:text="@string/print_searching_for_printers"/>
-
-
+
-
-
-
-
-
-
-
-
-
+
diff --git a/res/layout/preference_app.xml b/res/layout/preference_app.xml
deleted file mode 100644
index f0adebffefa..00000000000
--- a/res/layout/preference_app.xml
+++ /dev/null
@@ -1,100 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index e28bc98bc21..4d168518897 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -22,7 +22,6 @@
16dip
40dip
- 32dp
48dp
64dip
72dip
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 04852e0b64c..d612e81b698 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -8301,7 +8301,7 @@
Apps: All
- Apps: Turned off
+ Turned off
Categories: Urgent importance
diff --git a/res/xml/app_default_settings.xml b/res/xml/app_default_settings.xml
index 54676679875..a993aa1803b 100644
--- a/res/xml/app_default_settings.xml
+++ b/res/xml/app_default_settings.xml
@@ -21,59 +21,59 @@
android:key="app_default_settings_screen"
android:title="@string/app_default_dashboard_title">
-
-
-
+
-
-
-
-
-
-
-
-
+
-
-
+
diff --git a/src/com/android/settings/accounts/AccountTypePreference.java b/src/com/android/settings/accounts/AccountTypePreference.java
index 54866eeaab2..c82a5990d53 100644
--- a/src/com/android/settings/accounts/AccountTypePreference.java
+++ b/src/com/android/settings/accounts/AccountTypePreference.java
@@ -30,7 +30,7 @@ import androidx.preference.Preference.OnPreferenceClickListener;
import com.android.settings.Utils;
import com.android.settings.core.SubSettingLauncher;
-import com.android.settings.widget.AppPreference;
+import com.android.settingslib.widget.apppreference.AppPreference;
public class AccountTypePreference extends AppPreference implements OnPreferenceClickListener {
/**
diff --git a/src/com/android/settings/applications/AppStateNotificationBridge.java b/src/com/android/settings/applications/AppStateNotificationBridge.java
index d06aeb1110a..fc9e14f0af1 100644
--- a/src/com/android/settings/applications/AppStateNotificationBridge.java
+++ b/src/com/android/settings/applications/AppStateNotificationBridge.java
@@ -100,18 +100,20 @@ public class AppStateNotificationBridge extends AppStateBaseBridge {
}
public static CharSequence getSummary(Context context, NotificationsSentState state,
- boolean sortByRecency) {
- if (sortByRecency) {
+ int sortOrder) {
+ if (sortOrder == R.id.sort_order_recent_notification) {
if (state.lastSent == 0) {
return context.getString(R.string.notifications_sent_never);
}
return StringUtil.formatRelativeTime(
context, System.currentTimeMillis() - state.lastSent, true);
- } else {
+ } else if (sortOrder == R.id.sort_order_frequent_notification) {
if (state.avgSentWeekly > 0) {
return context.getString(R.string.notifications_sent_weekly, state.avgSentWeekly);
}
return context.getString(R.string.notifications_sent_daily, state.avgSentDaily);
+ } else {
+ return "";
}
}
@@ -267,6 +269,21 @@ public class AppStateNotificationBridge extends AppStateBaseBridge {
}
};
+ public static final AppFilter FILTER_APP_NOTIFICATION_BLOCKED = new AppFilter() {
+ @Override
+ public void init() {
+ }
+
+ @Override
+ public boolean filterApp(AppEntry info) {
+ NotificationsSentState state = getNotificationsSentState(info);
+ if (state != null) {
+ return state.blocked;
+ }
+ return false;
+ }
+ };
+
public static final Comparator RECENT_NOTIFICATION_COMPARATOR
= new Comparator() {
@Override
diff --git a/src/com/android/settings/applications/ProcessStatsPreference.java b/src/com/android/settings/applications/ProcessStatsPreference.java
index 64521984fc7..4249381732d 100644
--- a/src/com/android/settings/applications/ProcessStatsPreference.java
+++ b/src/com/android/settings/applications/ProcessStatsPreference.java
@@ -22,7 +22,7 @@ import android.text.TextUtils;
import android.text.format.Formatter;
import android.util.Log;
-import com.android.settings.widget.AppPreference;
+import com.android.settingslib.widget.apppreference.AppPreference;
public class ProcessStatsPreference extends AppPreference {
static final String TAG = "ProcessStatsPreference";
diff --git a/src/com/android/settings/applications/RecentAppsPreferenceController.java b/src/com/android/settings/applications/RecentAppsPreferenceController.java
index c866474b5ae..b6e8f4c6071 100644
--- a/src/com/android/settings/applications/RecentAppsPreferenceController.java
+++ b/src/com/android/settings/applications/RecentAppsPreferenceController.java
@@ -42,11 +42,11 @@ import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.applications.appinfo.AppInfoDashboardFragment;
import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settings.widget.AppPreference;
import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.applications.ApplicationsState;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.utils.StringUtil;
+import com.android.settingslib.widget.apppreference.AppPreference;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/src/com/android/settings/applications/manageapplications/AppFilterRegistry.java b/src/com/android/settings/applications/manageapplications/AppFilterRegistry.java
index 2e4a640de4d..7d1e159ffe0 100644
--- a/src/com/android/settings/applications/manageapplications/AppFilterRegistry.java
+++ b/src/com/android/settings/applications/manageapplications/AppFilterRegistry.java
@@ -49,6 +49,7 @@ public class AppFilterRegistry {
FILTER_APPS_WITH_OVERLAY,
FILTER_APPS_WRITE_SETTINGS,
FILTER_APPS_INSTALL_SOURCES,
+ FILTER_APPS_BLOCKED,
})
@interface FilterType {
}
@@ -71,14 +72,15 @@ public class AppFilterRegistry {
public static final int FILTER_APPS_INSTALL_SOURCES = 13;
public static final int FILTER_APP_HAS_DIRECTORY_ACCESS = 14;
public static final int FILTER_APP_CAN_CHANGE_WIFI_STATE = 15;
- // Next id: 16
+ public static final int FILTER_APPS_BLOCKED = 16;
+ // Next id: 17
private static AppFilterRegistry sRegistry;
private final AppFilterItem[] mFilters;
private AppFilterRegistry() {
- mFilters = new AppFilterItem[16];
+ mFilters = new AppFilterItem[17];
// High power whitelist, on
mFilters[FILTER_APPS_POWER_WHITELIST] = new AppFilterItem(
@@ -178,6 +180,12 @@ public class AppFilterRegistry {
AppStateChangeWifiStateBridge.FILTER_CHANGE_WIFI_STATE,
FILTER_APP_CAN_CHANGE_WIFI_STATE,
R.string.filter_write_settings_apps);
+
+ // Blocked Notifications
+ mFilters[FILTER_APPS_BLOCKED] = new AppFilterItem(
+ AppStateNotificationBridge.FILTER_APP_NOTIFICATION_BLOCKED,
+ FILTER_APPS_BLOCKED,
+ R.string.filter_notif_blocked_apps);
}
public static AppFilterRegistry getInstance() {
diff --git a/src/com/android/settings/applications/manageapplications/ManageApplications.java b/src/com/android/settings/applications/manageapplications/ManageApplications.java
index 35c6d1c4796..1f577b43c45 100644
--- a/src/com/android/settings/applications/manageapplications/ManageApplications.java
+++ b/src/com/android/settings/applications/manageapplications/ManageApplications.java
@@ -20,6 +20,8 @@ import static androidx.recyclerview.widget.RecyclerView.SCROLL_STATE_IDLE;
import static com.android.settings.applications.manageapplications.AppFilterRegistry
.FILTER_APPS_ALL;
+import static com.android.settings.applications.manageapplications.AppFilterRegistry
+ .FILTER_APPS_BLOCKED;
import static com.android.settings.applications.manageapplications.AppFilterRegistry
.FILTER_APPS_DISABLED;
import static com.android.settings.applications.manageapplications.AppFilterRegistry
@@ -409,6 +411,7 @@ public class ManageApplications extends InstrumentedFragment
if (mListType == LIST_TYPE_NOTIFICATION) {
mFilterAdapter.enableFilter(FILTER_APPS_RECENT);
mFilterAdapter.enableFilter(FILTER_APPS_FREQUENT);
+ mFilterAdapter.enableFilter(FILTER_APPS_BLOCKED);
mFilterAdapter.disableFilter(FILTER_APPS_ALL);
}
if (mListType == LIST_TYPE_HIGH_POWER) {
@@ -955,6 +958,8 @@ public class ManageApplications extends InstrumentedFragment
rebuild(R.id.sort_order_frequent_notification);
} else if (FILTER_APPS_RECENT == appFilter.getFilterType()) {
rebuild(R.id.sort_order_recent_notification);
+ } else if (FILTER_APPS_BLOCKED == appFilter.getFilterType()) {
+ rebuild(R.id.sort_order_alpha);
} else {
rebuild();
}
@@ -1111,16 +1116,7 @@ public class ManageApplications extends InstrumentedFragment
@VisibleForTesting
static boolean shouldUseStableItemHeight(int listType) {
- switch (listType) {
- case LIST_TYPE_NOTIFICATION:
- // Most entries in notification type has no summary. Don't use stable height
- // so height is short for most entries.
- return false;
- default:
- // Other types have non-empty summary, so keep the height as we expect summary
- // to fill in.
- return true;
- }
+ return true;
}
private static boolean packageNameEquals(PackageItemInfo info1, PackageItemInfo info2) {
@@ -1338,8 +1334,7 @@ public class ManageApplications extends InstrumentedFragment
if (entry.extraInfo != null
&& entry.extraInfo instanceof NotificationsSentState) {
holder.setSummary(AppStateNotificationBridge.getSummary(mContext,
- (NotificationsSentState) entry.extraInfo,
- (mLastSortMode == R.id.sort_order_recent_notification)));
+ (NotificationsSentState) entry.extraInfo, mLastSortMode));
} else {
holder.setSummary(null);
}
@@ -1388,8 +1383,7 @@ public class ManageApplications extends InstrumentedFragment
if (entry.extraInfo != null
&& entry.extraInfo instanceof NotificationsSentState) {
holder.setSummary(AppStateNotificationBridge.getSummary(mContext,
- (NotificationsSentState) entry.extraInfo,
- (mLastSortMode == R.id.sort_order_recent_notification)));
+ (NotificationsSentState) entry.extraInfo, mLastSortMode));
} else {
holder.setSummary(null);
}
diff --git a/src/com/android/settings/applications/managedomainurls/DomainAppPreference.java b/src/com/android/settings/applications/managedomainurls/DomainAppPreference.java
index ef9d5d418a7..94d28181ea3 100644
--- a/src/com/android/settings/applications/managedomainurls/DomainAppPreference.java
+++ b/src/com/android/settings/applications/managedomainurls/DomainAppPreference.java
@@ -27,8 +27,8 @@ import androidx.preference.PreferenceViewHolder;
import com.android.settings.R;
import com.android.settings.Utils;
-import com.android.settings.widget.AppPreference;
import com.android.settingslib.applications.ApplicationsState.AppEntry;
+import com.android.settingslib.widget.apppreference.AppPreference;
public class DomainAppPreference extends AppPreference {
diff --git a/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureSettings.java b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureSettings.java
index d6734b71f8d..d2cb2a7f1ac 100644
--- a/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureSettings.java
+++ b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureSettings.java
@@ -42,9 +42,9 @@ import com.android.settings.R;
import com.android.settings.applications.AppInfoBase;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
-import com.android.settings.widget.AppPreference;
import com.android.settings.widget.EmptyTextSettings;
import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.widget.apppreference.AppPreference;
import java.text.Collator;
import java.util.ArrayList;
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingController.java b/src/com/android/settings/bluetooth/BluetoothPairingController.java
index c39f1d9feb0..94bdfe8f753 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingController.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingController.java
@@ -54,8 +54,7 @@ public class BluetoothPairingController implements OnCheckedChangeListener,
// Bluetooth dependencies for the connection we are trying to establish
private LocalBluetoothManager mBluetoothManager;
- @VisibleForTesting
- BluetoothDevice mDevice;
+ private BluetoothDevice mDevice;
@VisibleForTesting
int mType;
private String mUserInput;
@@ -189,16 +188,16 @@ public class BluetoothPairingController implements OnCheckedChangeListener,
*
*/
public void setContactSharingState() {
- if ((mDevice.getPhonebookAccessPermission() != BluetoothDevice.ACCESS_ALLOWED)
- && (mDevice.getPhonebookAccessPermission() != BluetoothDevice.ACCESS_REJECTED)) {
- if (mDevice.getBluetoothClass().getDeviceClass()
- == BluetoothClass.Device.AUDIO_VIDEO_HANDSFREE) {
- onCheckedChanged(null, true);
- } else {
- onCheckedChanged(null, false);
- }
- }
- }
+ final int permission = mDevice.getPhonebookAccessPermission();
+ if (permission == BluetoothDevice.ACCESS_ALLOWED
+ || (permission == BluetoothDevice.ACCESS_UNKNOWN && mDevice.getBluetoothClass().
+ getDeviceClass() == BluetoothClass.Device.AUDIO_VIDEO_HANDSFREE)) {
+ onCheckedChanged(null, true);
+ } else {
+ onCheckedChanged(null, false);
+ }
+
+ }
/**
* A method for querying if the provided editable is a valid passkey/pin format for this device.
diff --git a/src/com/android/settings/dashboard/DashboardData.java b/src/com/android/settings/dashboard/DashboardData.java
index db296ab7470..5265b82ae92 100644
--- a/src/com/android/settings/dashboard/DashboardData.java
+++ b/src/com/android/settings/dashboard/DashboardData.java
@@ -41,7 +41,6 @@ import java.util.List;
*/
public class DashboardData {
public static final int POSITION_NOT_FOUND = -1;
- public static final int MAX_SUGGESTION_COUNT = 2;
// stable id for different type of items.
@VisibleForTesting
@@ -185,7 +184,7 @@ public class DashboardData {
final List conditions = mConditions;
final boolean hasConditions = sizeOf(conditions) > 0;
- final List suggestions = getSuggestionsToShow(mSuggestions);
+ final List suggestions = mSuggestions;
final boolean hasSuggestions = sizeOf(suggestions) > 0;
/* Suggestion container. This is the card view that contains the list of suggestions.
@@ -225,20 +224,6 @@ public class DashboardData {
return list == null ? 0 : list.size();
}
- private List getSuggestionsToShow(List suggestions) {
- if (suggestions == null) {
- return null;
- }
- if (suggestions.size() <= MAX_SUGGESTION_COUNT) {
- return suggestions;
- }
- final List suggestionsToShow = new ArrayList<>(MAX_SUGGESTION_COUNT);
- for (int i = 0; i < MAX_SUGGESTION_COUNT; i++) {
- suggestionsToShow.add(suggestions.get(i));
- }
- return suggestionsToShow;
- }
-
/**
* Builder used to build the ItemsData
*/
diff --git a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java
index 92744aee78c..00111770104 100644
--- a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java
+++ b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java
@@ -23,11 +23,8 @@ import android.service.settings.suggestions.Suggestion;
import androidx.annotation.NonNull;
-import com.android.settingslib.drawer.Tile;
import com.android.settingslib.suggestions.SuggestionControllerMixinCompat;
-import java.util.List;
-
/** Interface should be implemented if you have added new suggestions */
public interface SuggestionFeatureProvider {
@@ -49,11 +46,6 @@ public interface SuggestionFeatureProvider {
*/
SharedPreferences getSharedPrefs(Context context);
- /**
- * Only keep top few suggestions from exclusive suggestions.
- */
- void filterExclusiveSuggestions(List suggestions);
-
/**
* Dismisses a suggestion.
*/
diff --git a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
index 4dd0a5c4576..39d0299c0f5 100644
--- a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
+++ b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
@@ -45,7 +45,6 @@ import java.util.List;
public class SuggestionFeatureProviderImpl implements SuggestionFeatureProvider {
private static final String TAG = "SuggestionFeature";
- private static final int EXCLUSIVE_SUGGESTION_MAX_COUNT = 3;
private static final String SHARED_PREF_FILENAME = "suggestions";
@@ -97,17 +96,6 @@ public class SuggestionFeatureProviderImpl implements SuggestionFeatureProvider
.getMetricsFeatureProvider();
}
- @Override
- public void filterExclusiveSuggestions(List suggestions) {
- if (suggestions == null) {
- return;
- }
- for (int i = suggestions.size() - 1; i >= EXCLUSIVE_SUGGESTION_MAX_COUNT; i--) {
- Log.d(TAG, "Removing exclusive suggestion");
- suggestions.remove(i);
- }
- }
-
@Override
public void dismissSuggestion(Context context, SuggestionControllerMixinCompat mixin,
Suggestion suggestion) {
diff --git a/src/com/android/settings/datausage/AppDataUsagePreference.java b/src/com/android/settings/datausage/AppDataUsagePreference.java
index 0eab5ab936b..f5a204a224f 100644
--- a/src/com/android/settings/datausage/AppDataUsagePreference.java
+++ b/src/com/android/settings/datausage/AppDataUsagePreference.java
@@ -20,11 +20,11 @@ import android.widget.ProgressBar;
import androidx.preference.PreferenceViewHolder;
-import com.android.settings.widget.AppPreference;
import com.android.settingslib.AppItem;
import com.android.settingslib.net.UidDetail;
import com.android.settingslib.net.UidDetailProvider;
import com.android.settingslib.utils.ThreadUtils;
+import com.android.settingslib.widget.apppreference.AppPreference;
public class AppDataUsagePreference extends AppPreference {
diff --git a/src/com/android/settings/enterprise/ApplicationListPreferenceController.java b/src/com/android/settings/enterprise/ApplicationListPreferenceController.java
index 3170dac364d..271981858b2 100644
--- a/src/com/android/settings/enterprise/ApplicationListPreferenceController.java
+++ b/src/com/android/settings/enterprise/ApplicationListPreferenceController.java
@@ -27,8 +27,8 @@ import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.applications.ApplicationFeatureProvider;
import com.android.settings.applications.UserAppInfo;
import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settings.widget.AppPreference;
import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.widget.apppreference.AppPreference;
import java.util.List;
@@ -80,6 +80,7 @@ public class ApplicationListPreferenceController extends AbstractPreferenceContr
/**
* Simple interface for building application list within {
+ *
* @link ApplicationListPreferenceController}
*/
public interface ApplicationListBuilder {
diff --git a/src/com/android/settings/fuelgauge/PowerGaugePreference.java b/src/com/android/settings/fuelgauge/PowerGaugePreference.java
index 7c217744945..8cac2b24125 100644
--- a/src/com/android/settings/fuelgauge/PowerGaugePreference.java
+++ b/src/com/android/settings/fuelgauge/PowerGaugePreference.java
@@ -17,7 +17,6 @@
package com.android.settings.fuelgauge;
import android.content.Context;
-import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.widget.TextView;
@@ -26,7 +25,7 @@ import androidx.preference.PreferenceViewHolder;
import com.android.settings.R;
import com.android.settings.Utils;
-import com.android.settings.widget.AppPreference;
+import com.android.settingslib.widget.apppreference.AppPreference;
/**
* Custom preference for displaying battery usage info as a bar and an icon on
diff --git a/src/com/android/settings/location/AppSettingsInjector.java b/src/com/android/settings/location/AppSettingsInjector.java
index b8111f29c4e..812082122ac 100644
--- a/src/com/android/settings/location/AppSettingsInjector.java
+++ b/src/com/android/settings/location/AppSettingsInjector.java
@@ -21,10 +21,10 @@ import android.text.TextUtils;
import androidx.preference.Preference;
-import com.android.settings.widget.AppPreference;
import com.android.settings.widget.RestrictedAppPreference;
import com.android.settingslib.location.InjectedSetting;
import com.android.settingslib.location.SettingsInjector;
+import com.android.settingslib.widget.apppreference.AppPreference;
/**
* Adds the preferences specified by the {@link InjectedSetting} objects to a preference group.
diff --git a/src/com/android/settings/location/RecentLocationRequestPreferenceController.java b/src/com/android/settings/location/RecentLocationRequestPreferenceController.java
index 7660312f0eb..60374eb5dda 100644
--- a/src/com/android/settings/location/RecentLocationRequestPreferenceController.java
+++ b/src/com/android/settings/location/RecentLocationRequestPreferenceController.java
@@ -26,9 +26,9 @@ import com.android.settings.R;
import com.android.settings.applications.appinfo.AppInfoDashboardFragment;
import com.android.settings.core.SubSettingLauncher;
import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.widget.AppPreference;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.location.RecentLocationApps;
+import com.android.settingslib.widget.apppreference.AppPreference;
import java.util.List;
@@ -43,7 +43,7 @@ public class RecentLocationRequestPreferenceController extends LocationBasePrefe
private PreferenceCategory mCategoryRecentLocationRequests;
private Preference mSeeAllButton;
- /** Used in this class and {@link RecentLocationRequestSeeAllPreferenceController}*/
+ /** Used in this class and {@link RecentLocationRequestSeeAllPreferenceController} */
static class PackageEntryClickedListener implements Preference.OnPreferenceClickListener {
private final DashboardFragment mFragment;
private final String mPackage;
@@ -111,7 +111,7 @@ public class RecentLocationRequestPreferenceController extends LocationBasePrefe
if (recentLocationRequests.size() > 3) {
// Display the top 3 preferences to container in original order.
- for (int i = 0; i < 3; i ++) {
+ for (int i = 0; i < 3; i++) {
mCategoryRecentLocationRequests.addPreference(
createAppPreference(prefContext, recentLocationRequests.get(i)));
}
diff --git a/src/com/android/settings/location/RecentLocationRequestSeeAllPreferenceController.java b/src/com/android/settings/location/RecentLocationRequestSeeAllPreferenceController.java
index 6a1ebd938f1..3fa0f00e610 100644
--- a/src/com/android/settings/location/RecentLocationRequestSeeAllPreferenceController.java
+++ b/src/com/android/settings/location/RecentLocationRequestSeeAllPreferenceController.java
@@ -23,9 +23,9 @@ import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceScreen;
-import com.android.settings.widget.AppPreference;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.location.RecentLocationApps;
+import com.android.settingslib.widget.apppreference.AppPreference;
import java.util.List;
diff --git a/src/com/android/settings/network/ApnSettings.java b/src/com/android/settings/network/ApnSettings.java
index df0b1b4dfea..beeaab35c7a 100755
--- a/src/com/android/settings/network/ApnSettings.java
+++ b/src/com/android/settings/network/ApnSettings.java
@@ -186,7 +186,7 @@ public class ApnSettings extends RestrictedSettingsFragment implements
CarrierConfigManager configManager = (CarrierConfigManager)
getSystemService(Context.CARRIER_CONFIG_SERVICE);
- PersistableBundle b = configManager.getConfig();
+ PersistableBundle b = configManager.getConfigForSubId(mSubId);
mHideImsApn = b.getBoolean(CarrierConfigManager.KEY_HIDE_IMS_APN_BOOL);
mAllowAddingApns = b.getBoolean(CarrierConfigManager.KEY_ALLOW_ADDING_APNS_BOOL);
if (mAllowAddingApns) {
diff --git a/src/com/android/settings/print/PrintServiceSettingsFragment.java b/src/com/android/settings/print/PrintServiceSettingsFragment.java
index 759cf3bb59b..58e4ada72c7 100644
--- a/src/com/android/settings/print/PrintServiceSettingsFragment.java
+++ b/src/com/android/settings/print/PrintServiceSettingsFragment.java
@@ -190,8 +190,6 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
if (emptyView == null) {
emptyView = getActivity().getLayoutInflater().inflate(
R.layout.empty_print_state, contentRoot, false);
- ImageView iconView = (ImageView) emptyView.findViewById(R.id.icon);
- iconView.setContentDescription(getString(R.string.print_service_disabled));
TextView textView = (TextView) emptyView.findViewById(R.id.message);
textView.setText(R.string.print_service_disabled);
contentRoot.addView(emptyView);
@@ -216,8 +214,6 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
if (emptyView == null) {
emptyView = getActivity().getLayoutInflater().inflate(
R.layout.empty_print_state, contentRoot, false);
- ImageView iconView = (ImageView) emptyView.findViewById(R.id.icon);
- iconView.setContentDescription(getString(R.string.print_no_printers_found));
TextView textView = (TextView) emptyView.findViewById(R.id.message);
textView.setText(R.string.print_no_printers_found);
contentRoot.addView(emptyView);
diff --git a/src/com/android/settings/print/PrintSettingsFragment.java b/src/com/android/settings/print/PrintSettingsFragment.java
index 2f1f63dcb5b..63ffe87f15a 100644
--- a/src/com/android/settings/print/PrintSettingsFragment.java
+++ b/src/com/android/settings/print/PrintSettingsFragment.java
@@ -55,8 +55,8 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
-import com.android.settings.widget.AppPreference;
import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.widget.apppreference.AppPreference;
import java.text.DateFormat;
import java.util.ArrayList;
@@ -356,7 +356,7 @@ public class PrintSettingsFragment extends ProfileSettingsPreferenceFragment
printJob.getCreationTime(), printJob.getCreationTime(),
DateFormat.SHORT, DateFormat.SHORT)));
- TypedArray a = getActivity().obtainStyledAttributes(new int[] {
+ TypedArray a = getActivity().obtainStyledAttributes(new int[]{
android.R.attr.colorControlNormal});
int tintColor = a.getColor(0, 0);
a.recycle();
diff --git a/src/com/android/settings/widget/AppPreference.java b/src/com/android/settings/widget/AppPreference.java
deleted file mode 100644
index 91e700a0980..00000000000
--- a/src/com/android/settings/widget/AppPreference.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.widget;
-
-import android.content.Context;
-import android.text.TextUtils;
-import android.util.AttributeSet;
-import android.view.View;
-import android.widget.ProgressBar;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceViewHolder;
-
-import com.android.settings.R;
-
-public class AppPreference extends Preference {
-
- private int mProgress;
- private boolean mProgressVisible;
-
- public AppPreference(Context context) {
- super(context);
- setLayoutResource(R.layout.preference_app);
- }
-
- public AppPreference(Context context, AttributeSet attrs) {
- super(context, attrs);
- setLayoutResource(R.layout.preference_app);
- }
-
- public void setProgress(int amount) {
- mProgress = amount;
- mProgressVisible = true;
- notifyChanged();
- }
-
- @Override
- public void onBindViewHolder(PreferenceViewHolder view) {
- super.onBindViewHolder(view);
-
- view.findViewById(R.id.summary_container)
- .setVisibility(TextUtils.isEmpty(getSummary()) ? View.GONE : View.VISIBLE);
- final ProgressBar progress = (ProgressBar) view.findViewById(android.R.id.progress);
- if (mProgressVisible) {
- progress.setProgress(mProgress);
- progress.setVisibility(View.VISIBLE);
- } else {
- progress.setVisibility(View.GONE);
- }
- }
-}
diff --git a/src/com/android/settings/widget/RestrictedAppPreference.java b/src/com/android/settings/widget/RestrictedAppPreference.java
index e33c34287da..8a2cc91e7d1 100644
--- a/src/com/android/settings/widget/RestrictedAppPreference.java
+++ b/src/com/android/settings/widget/RestrictedAppPreference.java
@@ -28,6 +28,7 @@ import androidx.preference.PreferenceViewHolder;
import com.android.settings.R;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedPreferenceHelper;
+import com.android.settingslib.widget.apppreference.AppPreference;
/**
* {@link AppPreference} that implements user restriction utilities using
diff --git a/tests/robotests/src/com/android/settings/applications/AppStateNotificationBridgeTest.java b/tests/robotests/src/com/android/settings/applications/AppStateNotificationBridgeTest.java
index 8e3bb4254a0..cb504861a74 100644
--- a/tests/robotests/src/com/android/settings/applications/AppStateNotificationBridgeTest.java
+++ b/tests/robotests/src/com/android/settings/applications/AppStateNotificationBridgeTest.java
@@ -18,6 +18,8 @@ package com.android.settings.applications;
import static android.text.format.DateUtils.DAY_IN_MILLIS;
+import static com.android.settings.applications.AppStateNotificationBridge
+ .FILTER_APP_NOTIFICATION_BLOCKED;
import static com.android.settings.applications.AppStateNotificationBridge
.FILTER_APP_NOTIFICATION_FREQUENCY;
import static com.android.settings.applications.AppStateNotificationBridge
@@ -379,10 +381,11 @@ public class AppStateNotificationBridgeTest {
NotificationsSentState sent = new NotificationsSentState();
sent.lastSent = System.currentTimeMillis() - (2 * DAY_IN_MILLIS);
- assertThat(AppStateNotificationBridge.getSummary(mContext, neverSent, true)).isEqualTo(
- mContext.getString(R.string.notifications_sent_never));
- assertThat(AppStateNotificationBridge.getSummary(mContext, sent, true).toString())
- .contains("2");
+ assertThat(AppStateNotificationBridge.getSummary(
+ mContext, neverSent, R.id.sort_order_recent_notification)).isEqualTo(
+ mContext.getString(R.string.notifications_sent_never));
+ assertThat(AppStateNotificationBridge.getSummary(
+ mContext, sent, R.id.sort_order_recent_notification).toString()).contains("2");
}
@Test
@@ -392,12 +395,23 @@ public class AppStateNotificationBridgeTest {
NotificationsSentState sentOften = new NotificationsSentState();
sentOften.avgSentDaily = 8;
- assertThat(AppStateNotificationBridge.getSummary(mContext, sentRarely, false).toString())
+ assertThat(AppStateNotificationBridge.getSummary(
+ mContext, sentRarely, R.id.sort_order_frequent_notification).toString())
.contains("1");
- assertThat(AppStateNotificationBridge.getSummary(mContext, sentOften, false).toString())
+ assertThat(AppStateNotificationBridge.getSummary(
+ mContext, sentOften, R.id.sort_order_frequent_notification).toString())
.contains("8");
}
+ @Test
+ public void testSummary_alpha() {
+ NotificationsSentState sentRarely = new NotificationsSentState();
+ sentRarely.avgSentWeekly = 1;
+ assertThat(AppStateNotificationBridge.getSummary(
+ mContext, sentRarely, R.id.sort_order_alpha).toString())
+ .isEqualTo("");
+ }
+
@Test
public void testFilterRecency() {
NotificationsSentState allowState = new NotificationsSentState();
@@ -432,6 +446,23 @@ public class AppStateNotificationBridgeTest {
assertFalse(FILTER_APP_NOTIFICATION_FREQUENCY.filterApp(deny));
}
+ @Test
+ public void testFilterBlocked() {
+ NotificationsSentState allowState = new NotificationsSentState();
+ allowState.blocked = true;
+ AppEntry allow = mock(AppEntry.class);
+ allow.extraInfo = allowState;
+
+ assertTrue(FILTER_APP_NOTIFICATION_BLOCKED.filterApp(allow));
+
+ NotificationsSentState denyState = new NotificationsSentState();
+ denyState.blocked = false;
+ AppEntry deny = mock(AppEntry.class);
+ deny.extraInfo = denyState;
+
+ assertFalse(FILTER_APP_NOTIFICATION_BLOCKED.filterApp(deny));
+ }
+
@Test
public void testComparators_nullsNoCrash() {
List entries = new ArrayList<>();
diff --git a/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java b/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java
index c9ab7c0ebc9..b3f5b5e72e8 100644
--- a/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java
+++ b/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java
@@ -200,13 +200,13 @@ public class ManageApplicationsTest {
}
@Test
- public void shouldUseStableItemHeight_mainType_yes() {
+ public void shouldUseStableItemHeight() {
assertThat(ManageApplications.ApplicationsAdapter.shouldUseStableItemHeight(
LIST_TYPE_MAIN))
.isTrue();
assertThat(ManageApplications.ApplicationsAdapter.shouldUseStableItemHeight(
LIST_TYPE_NOTIFICATION))
- .isFalse();
+ .isTrue();
}
@Test
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingControllerTest.java
index b28a8b2b825..5233d840858 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingControllerTest.java
@@ -17,9 +17,10 @@ package com.android.settings.bluetooth;
import static android.bluetooth.BluetoothDevice.PAIRING_VARIANT_CONSENT;
-import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+import android.bluetooth.BluetoothClass;
import android.bluetooth.BluetoothDevice;
import android.content.Context;
import android.content.Intent;
@@ -39,6 +40,8 @@ import org.robolectric.annotation.Config;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = {ShadowBluetoothPan.class, ShadowBluetoothAdapter.class})
public class BluetoothPairingControllerTest {
+ private final BluetoothClass mBluetoothClass =
+ new BluetoothClass(BluetoothClass.Device.AUDIO_VIDEO_HANDSFREE);
@Mock
private BluetoothDevice mBluetoothDevice;
private Context mContext;
@@ -51,7 +54,7 @@ public class BluetoothPairingControllerTest {
mContext = RuntimeEnvironment.application;
final Intent intent = new Intent();
intent.putExtra(BluetoothDevice.EXTRA_DEVICE, mBluetoothDevice);
- mBluetoothPairingController = spy(new BluetoothPairingController(intent, mContext));
+ mBluetoothPairingController = new BluetoothPairingController(intent, mContext);
}
@Test
@@ -63,4 +66,36 @@ public class BluetoothPairingControllerTest {
verify(mBluetoothDevice).setPhonebookAccessPermission(BluetoothDevice.ACCESS_ALLOWED);
}
+
+ @Test
+ public void onSetContactSharingState_permissionAllowed_setPBAPAllowed() {
+ when(mBluetoothDevice.getPhonebookAccessPermission()).thenReturn(
+ BluetoothDevice.ACCESS_ALLOWED);
+ mBluetoothPairingController.setContactSharingState();
+ mBluetoothPairingController.onDialogPositiveClick(null);
+
+ verify(mBluetoothDevice).setPhonebookAccessPermission(BluetoothDevice.ACCESS_ALLOWED);
+ }
+
+ @Test
+ public void onSetContactSharingState_permissionUnknown_audioVideoHandsfree_setPBAPAllowed() {
+ when(mBluetoothDevice.getPhonebookAccessPermission()).thenReturn(
+ BluetoothDevice.ACCESS_UNKNOWN);
+ when(mBluetoothDevice.getBluetoothClass()).thenReturn(mBluetoothClass);
+ mBluetoothPairingController.setContactSharingState();
+ mBluetoothPairingController.onDialogPositiveClick(null);
+
+ verify(mBluetoothDevice).setPhonebookAccessPermission(BluetoothDevice.ACCESS_ALLOWED);
+ }
+
+ @Test
+ public void onSetContactSharingState_permissionRejected_setPBAPRejected() {
+ when(mBluetoothDevice.getPhonebookAccessPermission()).thenReturn(
+ BluetoothDevice.ACCESS_REJECTED);
+ when(mBluetoothDevice.getBluetoothClass()).thenReturn(mBluetoothClass);
+ mBluetoothPairingController.setContactSharingState();
+ mBluetoothPairingController.onDialogPositiveClick(null);
+
+ verify(mBluetoothDevice).setPhonebookAccessPermission(BluetoothDevice.ACCESS_REJECTED);
+ }
}
diff --git a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java
index 5fdf4586053..f9a737942a2 100644
--- a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java
@@ -143,20 +143,4 @@ public class SuggestionFeatureProviderImplTest {
anyString());
verify(mSuggestionControllerMixin).dismissSuggestion(mSuggestion);
}
-
- @Test
- public void filterExclusiveSuggestions_shouldOnlyKeepFirst3() {
- final List suggestions = new ArrayList<>();
- suggestions.add(new Tile(mActivityInfo, CategoryKey.CATEGORY_APPS));
- suggestions.add(new Tile(mActivityInfo, CategoryKey.CATEGORY_APPS));
- suggestions.add(new Tile(mActivityInfo, CategoryKey.CATEGORY_APPS));
- suggestions.add(new Tile(mActivityInfo, CategoryKey.CATEGORY_APPS));
- suggestions.add(new Tile(mActivityInfo, CategoryKey.CATEGORY_APPS));
- suggestions.add(new Tile(mActivityInfo, CategoryKey.CATEGORY_APPS));
- suggestions.add(new Tile(mActivityInfo, CategoryKey.CATEGORY_APPS));
-
- mProvider.filterExclusiveSuggestions(suggestions);
-
- assertThat(suggestions).hasSize(3);
- }
}
diff --git a/tests/robotests/src/com/android/settings/location/RecentLocationRequestPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/RecentLocationRequestPreferenceControllerTest.java
index 3d3dd28aa61..10e5681382d 100644
--- a/tests/robotests/src/com/android/settings/location/RecentLocationRequestPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/location/RecentLocationRequestPreferenceControllerTest.java
@@ -42,10 +42,10 @@ import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.applications.appinfo.AppInfoDashboardFragment;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
-import com.android.settings.widget.AppPreference;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.location.RecentLocationApps;
import com.android.settingslib.location.RecentLocationApps.Request;
+import com.android.settingslib.widget.apppreference.AppPreference;
import org.junit.Before;
import org.junit.Test;
@@ -173,7 +173,7 @@ public class RecentLocationRequestPreferenceControllerTest {
@Test
public void onPreferenceClick_shouldLaunchAppDetails() {
- final Context context= mock(Context.class);
+ final Context context = mock(Context.class);
when(mFragment.getContext()).thenReturn(context);
final List requests = new ArrayList<>();
@@ -210,7 +210,7 @@ public class RecentLocationRequestPreferenceControllerTest {
AppPreference appPreference = mock(AppPreference.class, "AppPreference" + i);
doReturn(title).when(appPreference).getTitle();
doReturn(appPreference)
- .when(mController).createAppPreference(any(Context.class), eq(req));
+ .when(mController).createAppPreference(any(Context.class), eq(req));
}
return requests;
}
diff --git a/tests/robotests/src/com/android/settings/location/RecentLocationRequestSeeAllPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/RecentLocationRequestSeeAllPreferenceControllerTest.java
index a012c51c591..be56f96f83e 100644
--- a/tests/robotests/src/com/android/settings/location/RecentLocationRequestSeeAllPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/location/RecentLocationRequestSeeAllPreferenceControllerTest.java
@@ -32,10 +32,10 @@ import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceScreen;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
-import com.android.settings.widget.AppPreference;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.location.RecentLocationApps;
import com.android.settingslib.location.RecentLocationApps.Request;
+import com.android.settingslib.widget.apppreference.AppPreference;
import org.junit.Before;
import org.junit.Test;
diff --git a/tests/robotests/src/com/android/settings/testutils/SettingsRobolectricTestRunner.java b/tests/robotests/src/com/android/settings/testutils/SettingsRobolectricTestRunner.java
index 2e3a140dfed..008d7f7fb5d 100644
--- a/tests/robotests/src/com/android/settings/testutils/SettingsRobolectricTestRunner.java
+++ b/tests/robotests/src/com/android/settings/testutils/SettingsRobolectricTestRunner.java
@@ -75,6 +75,8 @@ public class SettingsRobolectricTestRunner extends RobolectricTestRunner {
Fs.fromURL(new URL("file:packages/apps/Settings/res")), null));
paths.add(new ResourcePath(null,
Fs.fromURL(new URL("file:frameworks/base/packages/SettingsLib/res")), null));
+ paths.add(new ResourcePath(null,
+ Fs.fromURL(new URL("file:frameworks/base/packages/SettingsLib/AppPreference/res/")), null));
paths.add(new ResourcePath(null,
Fs.fromURL(new URL("file:frameworks/base/packages/SettingsLib/HelpUtils/res/")), null));
paths.add(new ResourcePath(null,
diff --git a/tests/robotests/src/com/android/settings/widget/AppPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/AppPreferenceTest.java
deleted file mode 100644
index c75d8fd463f..00000000000
--- a/tests/robotests/src/com/android/settings/widget/AppPreferenceTest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.widget;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.content.Context;
-import android.view.View;
-
-import androidx.preference.PreferenceViewHolder;
-
-import com.android.settings.R;
-import com.android.settings.testutils.SettingsRobolectricTestRunner;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(SettingsRobolectricTestRunner.class)
-public class AppPreferenceTest {
-
- private Context mContext;
- private View mRootView;
- private AppPreference mPref;
- private PreferenceViewHolder mHolder;
-
- @Before
- public void setUp() {
- mContext = RuntimeEnvironment.application;
- mRootView = View.inflate(mContext, R.layout.preference_app, null /* parent */);
- mHolder = PreferenceViewHolder.createInstanceForTests(mRootView);
- mPref = new AppPreference(mContext);
- }
-
- @Test
- public void setProgress_showProgress() {
- mPref.setProgress(1);
- mPref.onBindViewHolder(mHolder);
-
- assertThat(mHolder.findViewById(android.R.id.progress).getVisibility())
- .isEqualTo(View.VISIBLE);
- }
-
- @Test
- public void setSummary_showSummaryContainer() {
- mPref.setSummary("test");
- mPref.onBindViewHolder(mHolder);
-
- assertThat(mHolder.findViewById(R.id.summary_container).getVisibility())
- .isEqualTo(View.VISIBLE);
- }
-
- @Test
- public void noSummary_hideSummaryContainer() {
- mPref.setSummary(null);
- mPref.onBindViewHolder(mHolder);
-
- assertThat(mHolder.findViewById(R.id.summary_container).getVisibility())
- .isEqualTo(View.GONE);
- }
-
- @Test
- public void foobar_testName() {
- float iconSize = mContext.getResources().getDimension(R.dimen.secondary_app_icon_size);
- assertThat(Float.floatToIntBits(iconSize)).isEqualTo(Float.floatToIntBits(32));
- }
-}