summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/com/android/dialer/compat/FilteredNumberCompat.java14
-rw-r--r--src/com/android/dialer/filterednumber/BlockedNumbersFragment.java18
2 files changed, 26 insertions, 6 deletions
diff --git a/src/com/android/dialer/compat/FilteredNumberCompat.java b/src/com/android/dialer/compat/FilteredNumberCompat.java
index c70df71b7..63a2a32cd 100644
--- a/src/com/android/dialer/compat/FilteredNumberCompat.java
+++ b/src/com/android/dialer/compat/FilteredNumberCompat.java
@@ -99,15 +99,25 @@ public class FilteredNumberCompat {
}
/**
- * @return {@code true} if the new filtering is enabled, {@code false} otherwise.
+ * @return {@code true} if the current SDK version supports using new filtering, {@code false}
+ * otherwise.
*/
- public static boolean useNewFiltering() {
+ public static boolean canUseNewFiltering() {
if (isEnabledForTest != null) {
return CompatUtils.isNCompatible() && isEnabledForTest;
}
return CompatUtils.isNCompatible() && isNewFilteringEnabled;
}
+ /**
+ * @return {@code true} if the new filtering should be used, i.e. it's enabled and any necessary
+ * migration has been performed, {@code false} otherwise.
+ */
+ public static boolean useNewFiltering() {
+ // TODO(maxwelb): Add shared preference for when the Dialer blocked list has been migrated
+ return canUseNewFiltering();
+ }
+
@NeededForTesting
public static void setIsEnabledForTest(Boolean isEnabled) {
isEnabledForTest = isEnabled;
diff --git a/src/com/android/dialer/filterednumber/BlockedNumbersFragment.java b/src/com/android/dialer/filterednumber/BlockedNumbersFragment.java
index a8786609b..38615cce8 100644
--- a/src/com/android/dialer/filterednumber/BlockedNumbersFragment.java
+++ b/src/com/android/dialer/filterednumber/BlockedNumbersFragment.java
@@ -32,8 +32,10 @@ import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
+import com.android.contacts.common.compat.CompatUtils;
import com.android.contacts.common.lettertiles.LetterTileDrawable;
import com.android.dialer.R;
+import com.android.dialer.compat.FilteredNumberCompat;
import com.android.dialer.database.FilteredNumberContract;
import com.android.dialer.filterednumber.FilteredNumbersUtil.CheckForSendToVoicemailContactListener;
import com.android.dialer.filterednumber.FilteredNumbersUtil.ImportSendToVoicemailContactsListener;
@@ -83,7 +85,7 @@ public class BlockedNumbersFragment extends ListFragment
mBlockedNumbersDisabledForEmergency =
getListView().findViewById(R.id.blocked_numbers_disabled_for_emergency);
mBlockedNumberListDivider = getActivity().findViewById(R.id.blocked_number_list_divider);
- getListView().findViewById(R.id.import_button).setOnClickListener(this);;
+ getListView().findViewById(R.id.import_button).setOnClickListener(this);
getListView().findViewById(R.id.view_numbers_button).setOnClickListener(this);
getListView().findViewById(R.id.add_number_linear_layout).setOnClickListener(this);
@@ -118,6 +120,15 @@ public class BlockedNumbersFragment extends ListFragment
actionBar.setDisplayShowTitleEnabled(true);
actionBar.setTitle(R.string.manage_blocked_numbers_label);
+ // If the device can use the framework blocking solution, users should not be able to add
+ // new blocked numbers from the Blocked Management UI. They will be shown a promo card
+ // asking them to migrate to new blocking instead.
+ if (FilteredNumberCompat.canUseNewFiltering()) {
+ getListView().findViewById(R.id.add_number_linear_layout).setVisibility(View.GONE);
+ getListView().findViewById(R.id.add_number_linear_layout).setOnClickListener(null);
+ mBlockedNumberListDivider.setVisibility(View.INVISIBLE);
+ }
+
FilteredNumbersUtil.checkForSendToVoicemailContact(
getActivity(), new CheckForSendToVoicemailContactListener() {
@Override
@@ -152,16 +163,15 @@ public class BlockedNumbersFragment extends ListFragment
};
final String selection = FilteredNumberContract.FilteredNumberColumns.TYPE
+ "=" + FilteredNumberContract.FilteredNumberTypes.BLOCKED_NUMBER;
- final CursorLoader cursorLoader = new CursorLoader(
+ return new CursorLoader(
getContext(), FilteredNumberContract.FilteredNumber.CONTENT_URI, projection,
selection, null, null);
- return cursorLoader;
}
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
mAdapter.swapCursor(data);
- if (data.getCount() == 0) {
+ if (FilteredNumberCompat.canUseNewFiltering() || data.getCount() == 0) {
mBlockedNumberListDivider.setVisibility(View.INVISIBLE);
} else {
mBlockedNumberListDivider.setVisibility(View.VISIBLE);