summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlinyuh <linyuh@google.com>2018-03-26 12:46:18 -0700
committerCopybara-Service <copybara-piper@google.com>2018-03-26 22:23:52 -0700
commit437ae9552cce7768068fa92663740711ee541417 (patch)
tree1ae9af42ed23c09404b87ca613247e18c3fa10d2
parentcf14ecbc3cb604804ae1f9d01e47444fcf0eedc6 (diff)
downloadandroid_packages_apps_Dialer-437ae9552cce7768068fa92663740711ee541417.tar.gz
android_packages_apps_Dialer-437ae9552cce7768068fa92663740711ee541417.tar.bz2
android_packages_apps_Dialer-437ae9552cce7768068fa92663740711ee541417.zip
Remove obsolete version checks and compat utilities after min SDK was bumped up to N.
Test: Existing tests PiperOrigin-RevId: 190508397 Change-Id: Ia5f33e45af1d1cc666fec5f43efa564b2b68c193
-rw-r--r--java/com/android/contacts/common/ContactsUtils.java6
-rw-r--r--java/com/android/contacts/common/compat/CallableCompat.java36
-rw-r--r--java/com/android/contacts/common/compat/ContactsCompat.java41
-rw-r--r--java/com/android/contacts/common/compat/PhoneCompat.java36
-rw-r--r--java/com/android/dialer/animation/AnimUtils.java9
-rw-r--r--java/com/android/dialer/app/calllog/CallLogAdapter.java6
-rw-r--r--java/com/android/dialer/app/list/DragDropController.java19
-rw-r--r--java/com/android/dialer/app/settings/DialerSettingsActivity.java2
-rw-r--r--java/com/android/dialer/common/cp2/DirectoryCompat.java56
-rw-r--r--java/com/android/dialer/common/cp2/DirectoryUtils.java35
-rw-r--r--java/com/android/dialer/compat/ActivityCompat.java29
-rw-r--r--java/com/android/dialer/compat/CompatUtils.java21
-rw-r--r--java/com/android/dialer/compat/PathInterpolatorCompat.java120
-rw-r--r--java/com/android/dialer/phonelookup/cp2/Cp2ExtendedDirectoryPhoneLookup.java17
-rw-r--r--java/com/android/dialer/phonenumbercache/CallLogQuery.java21
-rw-r--r--java/com/android/dialer/phonenumbercache/ContactInfoHelper.java9
-rw-r--r--java/com/android/dialer/phonenumbercache/PhoneLookupUtil.java40
-rw-r--r--java/com/android/dialer/phonenumbercache/PhoneQuery.java57
-rw-r--r--java/com/android/dialer/searchfragment/directories/DirectoriesCursorLoader.java17
-rw-r--r--java/com/android/dialer/searchfragment/directories/DirectoryContactViewHolder.java4
-rw-r--r--java/com/android/dialer/searchfragment/directories/DirectoryContactsCursor.java4
-rw-r--r--java/com/android/dialer/searchfragment/directories/DirectoryContactsCursorLoader.java17
-rw-r--r--java/com/android/dialer/strictmode/impl/SystemDialerStrictMode.java3
-rw-r--r--java/com/android/dialer/util/DialerUtils.java7
-rw-r--r--java/com/android/dialer/voicemail/listui/error/VoicemailStatus.java14
-rw-r--r--java/com/android/dialer/voicemailstatus/VoicemailStatusQuery.java24
-rw-r--r--java/com/android/incallui/CallCardPresenter.java3
-rw-r--r--java/com/android/incallui/CallerInfo.java36
-rw-r--r--java/com/android/incallui/CallerInfoAsyncQuery.java11
-rw-r--r--java/com/android/incallui/ContactInfoCache.java7
-rw-r--r--java/com/android/incallui/InCallActivity.java8
-rw-r--r--java/com/android/incallui/answer/impl/AnswerFragment.java5
-rw-r--r--java/com/android/incallui/answer/impl/answermethod/AnswerMethodFactory.java4
-rw-r--r--java/com/android/incallui/answer/impl/answermethod/TwoButtonMethod.java4
-rw-r--r--java/com/android/incallui/autoresizetext/AutoResizeTextView.java52
-rw-r--r--java/com/android/incallui/call/DialerCall.java7
-rw-r--r--java/com/android/incallui/incall/impl/InCallFragment.java12
-rw-r--r--java/com/android/incallui/ringtone/DialerRingtoneManager.java10
-rw-r--r--java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java11
-rw-r--r--java/com/android/incallui/video/impl/VideoCallFragment.java11
40 files changed, 152 insertions, 679 deletions
diff --git a/java/com/android/contacts/common/ContactsUtils.java b/java/com/android/contacts/common/ContactsUtils.java
index bca8b62e0..7e44a2626 100644
--- a/java/com/android/contacts/common/ContactsUtils.java
+++ b/java/com/android/contacts/common/ContactsUtils.java
@@ -17,8 +17,8 @@
package com.android.contacts.common;
import android.provider.ContactsContract.Contacts;
+import android.provider.ContactsContract.Directory;
import android.support.annotation.IntDef;
-import com.android.dialer.common.cp2.DirectoryCompat;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -60,9 +60,7 @@ public class ContactsUtils {
public static @UserType long determineUserType(Long directoryId, Long contactId) {
// First check directory id
if (directoryId != null) {
- return DirectoryCompat.isEnterpriseDirectoryId(directoryId)
- ? USER_TYPE_WORK
- : USER_TYPE_CURRENT;
+ return Directory.isEnterpriseDirectoryId(directoryId) ? USER_TYPE_WORK : USER_TYPE_CURRENT;
}
// Only check contact id if directory id is null
if (contactId != null && contactId != 0L && Contacts.isEnterpriseContactId(contactId)) {
diff --git a/java/com/android/contacts/common/compat/CallableCompat.java b/java/com/android/contacts/common/compat/CallableCompat.java
deleted file mode 100644
index 5e86f518e..000000000
--- a/java/com/android/contacts/common/compat/CallableCompat.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2015 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.contacts.common.compat;
-
-import android.net.Uri;
-import android.os.Build.VERSION;
-import android.os.Build.VERSION_CODES;
-import android.provider.ContactsContract.CommonDataKinds.Callable;
-
-public class CallableCompat {
-
- // TODO: Use N APIs
- private static final Uri ENTERPRISE_CONTENT_FILTER_URI =
- Uri.withAppendedPath(Callable.CONTENT_URI, "filter_enterprise");
-
- public static Uri getContentFilterUri() {
- if (VERSION.SDK_INT >= VERSION_CODES.N) {
- return ENTERPRISE_CONTENT_FILTER_URI;
- }
- return Callable.CONTENT_FILTER_URI;
- }
-}
diff --git a/java/com/android/contacts/common/compat/ContactsCompat.java b/java/com/android/contacts/common/compat/ContactsCompat.java
deleted file mode 100644
index e0c9b7e53..000000000
--- a/java/com/android/contacts/common/compat/ContactsCompat.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2015 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.contacts.common.compat;
-
-import android.net.Uri;
-import android.os.Build.VERSION;
-import android.os.Build.VERSION_CODES;
-import android.provider.ContactsContract;
-import android.provider.ContactsContract.Contacts;
-
-/** Compatibility class for {@link ContactsContract.Contacts} */
-public class ContactsCompat {
-
- // TODO: Use N APIs
- private static final Uri ENTERPRISE_CONTENT_FILTER_URI =
- Uri.withAppendedPath(Contacts.CONTENT_URI, "filter_enterprise");
-
- /** Not instantiable. */
- private ContactsCompat() {}
-
- public static Uri getContentUri() {
- if (VERSION.SDK_INT >= VERSION_CODES.N) {
- return ENTERPRISE_CONTENT_FILTER_URI;
- }
- return Contacts.CONTENT_FILTER_URI;
- }
-}
diff --git a/java/com/android/contacts/common/compat/PhoneCompat.java b/java/com/android/contacts/common/compat/PhoneCompat.java
deleted file mode 100644
index 31db7b537..000000000
--- a/java/com/android/contacts/common/compat/PhoneCompat.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2015 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.contacts.common.compat;
-
-import android.net.Uri;
-import android.os.Build.VERSION;
-import android.os.Build.VERSION_CODES;
-import android.provider.ContactsContract.CommonDataKinds.Phone;
-
-public class PhoneCompat {
-
- // TODO: Use N APIs
- private static final Uri ENTERPRISE_CONTENT_FILTER_URI =
- Uri.withAppendedPath(Phone.CONTENT_URI, "filter_enterprise");
-
- public static Uri getContentFilterUri() {
- if (VERSION.SDK_INT >= VERSION_CODES.N) {
- return ENTERPRISE_CONTENT_FILTER_URI;
- }
- return Phone.CONTENT_FILTER_URI;
- }
-}
diff --git a/java/com/android/dialer/animation/AnimUtils.java b/java/com/android/dialer/animation/AnimUtils.java
index 9c9396e56..9160cf58a 100644
--- a/java/com/android/dialer/animation/AnimUtils.java
+++ b/java/com/android/dialer/animation/AnimUtils.java
@@ -22,17 +22,16 @@ import android.animation.ValueAnimator;
import android.view.View;
import android.view.ViewPropertyAnimator;
import android.view.animation.Interpolator;
-import com.android.dialer.compat.PathInterpolatorCompat;
+import android.view.animation.PathInterpolator;
public class AnimUtils {
public static final int DEFAULT_DURATION = -1;
public static final int NO_DELAY = 0;
- public static final Interpolator EASE_IN = PathInterpolatorCompat.create(0.0f, 0.0f, 0.2f, 1.0f);
- public static final Interpolator EASE_OUT = PathInterpolatorCompat.create(0.4f, 0.0f, 1.0f, 1.0f);
- public static final Interpolator EASE_OUT_EASE_IN =
- PathInterpolatorCompat.create(0.4f, 0, 0.2f, 1);
+ public static final Interpolator EASE_IN = new PathInterpolator(0.0f, 0.0f, 0.2f, 1.0f);
+ public static final Interpolator EASE_OUT = new PathInterpolator(0.4f, 0.0f, 1.0f, 1.0f);
+ public static final Interpolator EASE_OUT_EASE_IN = new PathInterpolator(0.4f, 0, 0.2f, 1);
public static void crossFadeViews(View fadeIn, View fadeOut, int duration) {
fadeIn(fadeIn, duration);
diff --git a/java/com/android/dialer/app/calllog/CallLogAdapter.java b/java/com/android/dialer/app/calllog/CallLogAdapter.java
index de9b95e34..d25a2f38d 100644
--- a/java/com/android/dialer/app/calllog/CallLogAdapter.java
+++ b/java/com/android/dialer/app/calllog/CallLogAdapter.java
@@ -945,10 +945,8 @@ public class CallLogAdapter extends GroupingListAdapter
Cursor cursor, int count, final CallLogListItemViewHolder views) {
Assert.isMainThread();
final String number = cursor.getString(CallLogQuery.NUMBER);
- final String postDialDigits =
- (VERSION.SDK_INT >= VERSION_CODES.N) ? cursor.getString(CallLogQuery.POST_DIAL_DIGITS) : "";
- final String viaNumber =
- (VERSION.SDK_INT >= VERSION_CODES.N) ? cursor.getString(CallLogQuery.VIA_NUMBER) : "";
+ final String postDialDigits = cursor.getString(CallLogQuery.POST_DIAL_DIGITS);
+ final String viaNumber = cursor.getString(CallLogQuery.VIA_NUMBER);
final int numberPresentation = cursor.getInt(CallLogQuery.NUMBER_PRESENTATION);
final ContactInfo cachedContactInfo = ContactInfoHelper.getContactInfo(cursor);
final int transcriptionState =
diff --git a/java/com/android/dialer/app/list/DragDropController.java b/java/com/android/dialer/app/list/DragDropController.java
index 458e31e69..1c33a8a09 100644
--- a/java/com/android/dialer/app/list/DragDropController.java
+++ b/java/com/android/dialer/app/list/DragDropController.java
@@ -16,8 +16,6 @@
package com.android.dialer.app.list;
-import android.os.Build.VERSION;
-import android.os.Build.VERSION_CODES;
import android.view.View;
import java.util.ArrayList;
import java.util.List;
@@ -38,22 +36,15 @@ public class DragDropController {
/** @return True if the drag is started, false if the drag is cancelled for some reason. */
boolean handleDragStarted(View v, int x, int y) {
- int screenX = x;
- int screenY = y;
- // The coordinates in dragEvent of DragEvent.ACTION_DRAG_STARTED before NYC is window-related.
- // This is fixed in NYC.
- if (VERSION.SDK_INT >= VERSION_CODES.N) {
- v.getLocationOnScreen(locationOnScreen);
- screenX = x + locationOnScreen[0];
- screenY = y + locationOnScreen[1];
- }
- final PhoneFavoriteSquareTileView tileView =
- dragItemContainer.getViewForLocation(screenX, screenY);
+ v.getLocationOnScreen(locationOnScreen);
+ x = x + locationOnScreen[0];
+ y = y + locationOnScreen[1];
+ final PhoneFavoriteSquareTileView tileView = dragItemContainer.getViewForLocation(x, y);
if (tileView == null) {
return false;
}
for (int i = 0; i < onDragDropListeners.size(); i++) {
- onDragDropListeners.get(i).onDragStarted(screenX, screenY, tileView);
+ onDragDropListeners.get(i).onDragStarted(x, y, tileView);
}
return true;
diff --git a/java/com/android/dialer/app/settings/DialerSettingsActivity.java b/java/com/android/dialer/app/settings/DialerSettingsActivity.java
index 09fe03ef5..6b763aeb3 100644
--- a/java/com/android/dialer/app/settings/DialerSettingsActivity.java
+++ b/java/com/android/dialer/app/settings/DialerSettingsActivity.java
@@ -128,7 +128,7 @@ public class DialerSettingsActivity extends AppCompatPreferenceActivity {
callSettingsHeader.titleRes = R.string.call_settings_label;
callSettingsHeader.intent = callSettingsIntent;
target.add(callSettingsHeader);
- } else if ((VERSION.SDK_INT >= VERSION_CODES.N) || isPrimaryUser) {
+ } else if (isPrimaryUser) {
Header phoneAccountSettingsHeader = new Header();
Intent phoneAccountSettingsIntent = new Intent(TelecomManager.ACTION_CHANGE_PHONE_ACCOUNTS);
phoneAccountSettingsIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
diff --git a/java/com/android/dialer/common/cp2/DirectoryCompat.java b/java/com/android/dialer/common/cp2/DirectoryCompat.java
deleted file mode 100644
index 3e33394a2..000000000
--- a/java/com/android/dialer/common/cp2/DirectoryCompat.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2015 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.dialer.common.cp2;
-
-import android.net.Uri;
-import android.os.Build.VERSION;
-import android.os.Build.VERSION_CODES;
-import android.provider.ContactsContract.Directory;
-
-/** Compatibility utility for {@link Directory}. */
-public class DirectoryCompat {
-
- public static Uri getContentUri() {
- if (VERSION.SDK_INT >= VERSION_CODES.N) {
- return Directory.ENTERPRISE_CONTENT_URI;
- }
- return Directory.CONTENT_URI;
- }
-
- public static boolean isInvisibleDirectory(long directoryId) {
- if (VERSION.SDK_INT >= VERSION_CODES.N) {
- return (directoryId == Directory.LOCAL_INVISIBLE
- || directoryId == Directory.ENTERPRISE_LOCAL_INVISIBLE);
- }
- return directoryId == Directory.LOCAL_INVISIBLE;
- }
-
- public static boolean isRemoteDirectoryId(long directoryId) {
- if (VERSION.SDK_INT >= VERSION_CODES.N) {
- return Directory.isRemoteDirectoryId(directoryId);
- }
- return directoryId != Directory.DEFAULT && directoryId != Directory.LOCAL_INVISIBLE;
- }
-
- public static boolean isEnterpriseDirectoryId(long directoryId) {
- return VERSION.SDK_INT >= VERSION_CODES.N && Directory.isEnterpriseDirectoryId(directoryId);
- }
-
- public static boolean isOnlyEnterpriseDirectoryId(long directoryId) {
- return isEnterpriseDirectoryId(directoryId) && !isRemoteDirectoryId(directoryId);
- }
-}
diff --git a/java/com/android/dialer/common/cp2/DirectoryUtils.java b/java/com/android/dialer/common/cp2/DirectoryUtils.java
new file mode 100644
index 000000000..fa5a226e6
--- /dev/null
+++ b/java/com/android/dialer/common/cp2/DirectoryUtils.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2018 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.dialer.common.cp2;
+
+import android.provider.ContactsContract.Directory;
+
+/** Utilities for {@link Directory}. */
+public class DirectoryUtils {
+
+ /** Returns true if the given ID belongs to an invisible directory. */
+ public static boolean isInvisibleDirectoryId(long directoryId) {
+ return directoryId == Directory.LOCAL_INVISIBLE
+ || directoryId == Directory.ENTERPRISE_LOCAL_INVISIBLE;
+ }
+
+ /** Returns true if the given ID belongs to a local enterprise directory. */
+ public static boolean isLocalEnterpriseDirectoryId(long directoryId) {
+ return Directory.isEnterpriseDirectoryId(directoryId)
+ && !Directory.isRemoteDirectoryId(directoryId);
+ }
+}
diff --git a/java/com/android/dialer/compat/ActivityCompat.java b/java/com/android/dialer/compat/ActivityCompat.java
deleted file mode 100644
index e59b11593..000000000
--- a/java/com/android/dialer/compat/ActivityCompat.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (C) 2016 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.dialer.compat;
-
-import android.app.Activity;
-import android.os.Build.VERSION;
-import android.os.Build.VERSION_CODES;
-
-/** Utility for calling methods introduced after Marshmallow for Activities. */
-public class ActivityCompat {
-
- public static boolean isInMultiWindowMode(Activity activity) {
- return VERSION.SDK_INT >= VERSION_CODES.N && activity.isInMultiWindowMode();
- }
-}
diff --git a/java/com/android/dialer/compat/CompatUtils.java b/java/com/android/dialer/compat/CompatUtils.java
index d09f8b0e1..f0039e930 100644
--- a/java/com/android/dialer/compat/CompatUtils.java
+++ b/java/com/android/dialer/compat/CompatUtils.java
@@ -16,15 +16,14 @@
package com.android.dialer.compat;
import android.content.Context;
-import android.os.Build.VERSION;
-import android.os.Build.VERSION_CODES;
import android.os.LocaleList;
import java.util.Locale;
-/** TODO(calderwoodra): documentation */
+/** TODO(linyuh): Remove deprecated methods and rename this class. */
public final class CompatUtils {
/** PrioritizedMimeType is added in API level 23. */
+ @Deprecated
public static boolean hasPrioritizedMimeType() {
return true;
}
@@ -35,6 +34,7 @@ public final class CompatUtils {
*
* @return {@code true} if multi-SIM capability is available, {@code false} otherwise.
*/
+ @Deprecated
public static boolean isMSIMCompatible() {
return true;
}
@@ -45,6 +45,7 @@ public final class CompatUtils {
*
* @return {@code true} if video calling is allowed, {@code false} otherwise.
*/
+ @Deprecated
public static boolean isVideoCompatible() {
return true;
}
@@ -55,6 +56,7 @@ public final class CompatUtils {
*
* @return {@code true} if video presence checking is allowed, {@code false} otherwise.
*/
+ @Deprecated
public static boolean isVideoPresenceCompatible() {
return true;
}
@@ -65,20 +67,17 @@ public final class CompatUtils {
*
* @return {@code true} if call subject is a feature on this device, {@code false} otherwise.
*/
+ @Deprecated
public static boolean isCallSubjectCompatible() {
return true;
}
/** Returns locale of the device. */
public static Locale getLocale(Context context) {
- if (VERSION.SDK_INT >= VERSION_CODES.N) {
- LocaleList localList = context.getResources().getConfiguration().getLocales();
- if (!localList.isEmpty()) {
- return localList.get(0);
- }
- return Locale.getDefault();
- } else {
- return context.getResources().getConfiguration().locale;
+ LocaleList localList = context.getResources().getConfiguration().getLocales();
+ if (!localList.isEmpty()) {
+ return localList.get(0);
}
+ return Locale.getDefault();
}
}
diff --git a/java/com/android/dialer/compat/PathInterpolatorCompat.java b/java/com/android/dialer/compat/PathInterpolatorCompat.java
deleted file mode 100644
index d0d410d7b..000000000
--- a/java/com/android/dialer/compat/PathInterpolatorCompat.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright (C) 2015 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.dialer.compat;
-
-import android.graphics.Path;
-import android.graphics.PathMeasure;
-import android.os.Build;
-import android.view.animation.Interpolator;
-import android.view.animation.PathInterpolator;
-
-public class PathInterpolatorCompat {
-
- public static Interpolator create(
- float controlX1, float controlY1, float controlX2, float controlY2) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
- return new PathInterpolator(controlX1, controlY1, controlX2, controlY2);
- }
- return new PathInterpolatorBase(controlX1, controlY1, controlX2, controlY2);
- }
-
- private static class PathInterpolatorBase implements Interpolator {
-
- /** Governs the accuracy of the approximation of the {@link Path}. */
- private static final float PRECISION = 0.002f;
-
- private final float[] x;
- private final float[] y;
-
- public PathInterpolatorBase(Path path) {
- final PathMeasure pathMeasure = new PathMeasure(path, false /* forceClosed */);
-
- final float pathLength = pathMeasure.getLength();
- final int numPoints = (int) (pathLength / PRECISION) + 1;
-
- x = new float[numPoints];
- y = new float[numPoints];
-
- final float[] position = new float[2];
- for (int i = 0; i < numPoints; ++i) {
- final float distance = (i * pathLength) / (numPoints - 1);
- pathMeasure.getPosTan(distance, position, null /* tangent */);
-
- x[i] = position[0];
- y[i] = position[1];
- }
- }
-
- public PathInterpolatorBase(float controlX, float controlY) {
- this(createQuad(controlX, controlY));
- }
-
- public PathInterpolatorBase(
- float controlX1, float controlY1, float controlX2, float controlY2) {
- this(createCubic(controlX1, controlY1, controlX2, controlY2));
- }
-
- private static Path createQuad(float controlX, float controlY) {
- final Path path = new Path();
- path.moveTo(0.0f, 0.0f);
- path.quadTo(controlX, controlY, 1.0f, 1.0f);
- return path;
- }
-
- private static Path createCubic(
- float controlX1, float controlY1, float controlX2, float controlY2) {
- final Path path = new Path();
- path.moveTo(0.0f, 0.0f);
- path.cubicTo(controlX1, controlY1, controlX2, controlY2, 1.0f, 1.0f);
- return path;
- }
-
- @Override
- public float getInterpolation(float t) {
- if (t <= 0.0f) {
- return 0.0f;
- } else if (t >= 1.0f) {
- return 1.0f;
- }
-
- // Do a binary search for the correct x to interpolate between.
- int startIndex = 0;
- int endIndex = x.length - 1;
- while (endIndex - startIndex > 1) {
- int midIndex = (startIndex + endIndex) / 2;
- if (t < x[midIndex]) {
- endIndex = midIndex;
- } else {
- startIndex = midIndex;
- }
- }
-
- final float xRange = x[endIndex] - x[startIndex];
- if (xRange == 0) {
- return y[startIndex];
- }
-
- final float tInRange = t - x[startIndex];
- final float fraction = tInRange / xRange;
-
- final float startY = y[startIndex];
- final float endY = y[endIndex];
-
- return startY + (fraction * (endY - startY));
- }
- }
-}
diff --git a/java/com/android/dialer/phonelookup/cp2/Cp2ExtendedDirectoryPhoneLookup.java b/java/com/android/dialer/phonelookup/cp2/Cp2ExtendedDirectoryPhoneLookup.java
index e497989c7..2b98f265c 100644
--- a/java/com/android/dialer/phonelookup/cp2/Cp2ExtendedDirectoryPhoneLookup.java
+++ b/java/com/android/dialer/phonelookup/cp2/Cp2ExtendedDirectoryPhoneLookup.java
@@ -19,15 +19,13 @@ package com.android.dialer.phonelookup.cp2;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
-import android.os.Build.VERSION;
-import android.os.Build.VERSION_CODES;
import android.provider.ContactsContract;
+import android.provider.ContactsContract.Directory;
import android.support.annotation.VisibleForTesting;
import com.android.dialer.DialerPhoneNumber;
import com.android.dialer.common.LogUtil;
import com.android.dialer.common.concurrent.Annotations.BackgroundExecutor;
import com.android.dialer.common.concurrent.Annotations.LightweightExecutor;
-import com.android.dialer.common.cp2.DirectoryCompat;
import com.android.dialer.inject.ApplicationContext;
import com.android.dialer.phonelookup.PhoneLookup;
import com.android.dialer.phonelookup.PhoneLookupInfo;
@@ -80,7 +78,7 @@ public final class Cp2ExtendedDirectoryPhoneLookup implements PhoneLookup<Cp2Inf
appContext
.getContentResolver()
.query(
- DirectoryCompat.getContentUri(),
+ Directory.ENTERPRISE_CONTENT_URI,
/* projection = */ new String[] {ContactsContract.Directory._ID},
/* selection = */ null,
/* selectionArgs = */ null,
@@ -178,13 +176,8 @@ public final class Cp2ExtendedDirectoryPhoneLookup implements PhoneLookup<Cp2Inf
@VisibleForTesting
static Uri getContentUriForContacts(String number, long directoryId) {
- Uri baseUri =
- VERSION.SDK_INT >= VERSION_CODES.N
- ? ContactsContract.PhoneLookup.ENTERPRISE_CONTENT_FILTER_URI
- : ContactsContract.PhoneLookup.CONTENT_FILTER_URI;
-
Uri.Builder builder =
- baseUri
+ ContactsContract.PhoneLookup.ENTERPRISE_CONTENT_FILTER_URI
.buildUpon()
.appendPath(number)
.appendQueryParameter(
@@ -197,8 +190,8 @@ public final class Cp2ExtendedDirectoryPhoneLookup implements PhoneLookup<Cp2Inf
}
private static boolean isExtendedDirectory(long directoryId) {
- return DirectoryCompat.isRemoteDirectoryId(directoryId)
- || DirectoryCompat.isEnterpriseDirectoryId(directoryId);
+ return Directory.isRemoteDirectoryId(directoryId)
+ || Directory.isEnterpriseDirectoryId(directoryId);
}
@Override
diff --git a/java/com/android/dialer/phonenumbercache/CallLogQuery.java b/java/com/android/dialer/phonenumbercache/CallLogQuery.java
index 2ebc302cf..488aa26e5 100644
--- a/java/com/android/dialer/phonenumbercache/CallLogQuery.java
+++ b/java/com/android/dialer/phonenumbercache/CallLogQuery.java
@@ -63,7 +63,7 @@ public final class CallLogQuery {
@RequiresApi(VERSION_CODES.O)
public static final int TRANSCRIPTION_STATE = 26;
- private static final String[] PROJECTION_M =
+ private static final String[] PROJECTION_N =
new String[] {
Calls._ID, // 0
Calls.NUMBER, // 1
@@ -89,17 +89,10 @@ public final class CallLogQuery {
Calls.DATA_USAGE, // 21
Calls.TRANSCRIPTION, // 22
Calls.CACHED_PHOTO_URI, // 23
+ CallLog.Calls.POST_DIAL_DIGITS, // 24
+ CallLog.Calls.VIA_NUMBER // 25
};
- private static final String[] PROJECTION_N;
-
- static {
- List<String> projectionList = new ArrayList<>(Arrays.asList(PROJECTION_M));
- projectionList.add(CallLog.Calls.POST_DIAL_DIGITS);
- projectionList.add(CallLog.Calls.VIA_NUMBER);
- PROJECTION_N = projectionList.toArray(new String[projectionList.size()]);
- }
-
private static final String[] PROJECTION_O;
// TODO(mdooley): remove when this becomes a public api
@@ -114,12 +107,6 @@ public final class CallLogQuery {
@NonNull
public static String[] getProjection() {
- if (VERSION.SDK_INT >= VERSION_CODES.O) {
- return PROJECTION_O;
- }
- if (VERSION.SDK_INT >= VERSION_CODES.N) {
- return PROJECTION_N;
- }
- return PROJECTION_M;
+ return VERSION.SDK_INT >= VERSION_CODES.O ? PROJECTION_O : PROJECTION_N;
}
}
diff --git a/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java b/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java
index d6e378cf2..777175e00 100644
--- a/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java
+++ b/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java
@@ -35,7 +35,6 @@ import com.android.contacts.common.ContactsUtils.UserType;
import com.android.contacts.common.util.Constants;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
-import com.android.dialer.common.cp2.DirectoryCompat;
import com.android.dialer.logging.ContactSource;
import com.android.dialer.oem.CequintCallerIdManager;
import com.android.dialer.oem.CequintCallerIdManager.CequintCallerIdContact;
@@ -107,12 +106,12 @@ public class ContactInfoHelper {
if (directoryId != null) {
// Query {@link Contacts#CONTENT_LOOKUP_URI} with work lookup key is not allowed.
- if (DirectoryCompat.isEnterpriseDirectoryId(directoryId)) {
+ if (Directory.isEnterpriseDirectoryId(directoryId)) {
return null;
}
// Skip this to avoid an extra remote network call for alternative name
- if (DirectoryCompat.isRemoteDirectoryId(directoryId)) {
+ if (Directory.isRemoteDirectoryId(directoryId)) {
return null;
}
}
@@ -289,7 +288,7 @@ public class ContactInfoHelper {
try {
while (cursor.moveToNext()) {
long directoryId = cursor.getLong(idIndex);
- if (DirectoryCompat.isRemoteDirectoryId(directoryId)) {
+ if (Directory.isRemoteDirectoryId(directoryId)) {
remoteDirectories.add(directoryId);
}
}
@@ -323,7 +322,7 @@ public class ContactInfoHelper {
.getContentResolver()
.query(
uri,
- PhoneQuery.getPhoneLookupProjection(uri),
+ PhoneQuery.getPhoneLookupProjection(),
null /* selection */,
null /* selectionArgs */,
null /* sortOrder */)) {
diff --git a/java/com/android/dialer/phonenumbercache/PhoneLookupUtil.java b/java/com/android/dialer/phonenumbercache/PhoneLookupUtil.java
deleted file mode 100644
index 74175e8ba..000000000
--- a/java/com/android/dialer/phonenumbercache/PhoneLookupUtil.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2016 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.dialer.phonenumbercache;
-
-import android.net.Uri;
-import android.os.Build.VERSION;
-import android.os.Build.VERSION_CODES;
-import android.provider.ContactsContract;
-import android.provider.ContactsContract.PhoneLookup;
-
-public final class PhoneLookupUtil {
-
- private PhoneLookupUtil() {}
-
- /** @return the column name that stores contact id for phone lookup query. */
- public static String getContactIdColumnNameForUri(Uri phoneLookupUri) {
- if (VERSION.SDK_INT >= VERSION_CODES.N) {
- return PhoneLookup.CONTACT_ID;
- }
- // In pre-N, contact id is stored in {@link PhoneLookup#_ID} in non-sip query.
- boolean isSip =
- phoneLookupUri.getBooleanQueryParameter(
- ContactsContract.PhoneLookup.QUERY_PARAMETER_SIP_ADDRESS, false);
- return (isSip) ? PhoneLookup.CONTACT_ID : ContactsContract.PhoneLookup._ID;
- }
-}
diff --git a/java/com/android/dialer/phonenumbercache/PhoneQuery.java b/java/com/android/dialer/phonenumbercache/PhoneQuery.java
index 5ddd5f846..a43e489e5 100644
--- a/java/com/android/dialer/phonenumbercache/PhoneQuery.java
+++ b/java/com/android/dialer/phonenumbercache/PhoneQuery.java
@@ -16,10 +16,6 @@
package com.android.dialer.phonenumbercache;
-import android.net.Uri;
-import android.os.Build.VERSION;
-import android.os.Build.VERSION_CODES;
-import android.provider.ContactsContract;
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.PhoneLookup;
@@ -27,27 +23,27 @@ import android.provider.ContactsContract.PhoneLookup;
/** The queries to look up the {@link ContactInfo} for a given number in the Call Log. */
final class PhoneQuery {
- public static final int PERSON_ID = 0;
- public static final int NAME = 1;
- public static final int PHONE_TYPE = 2;
- public static final int LABEL = 3;
- public static final int MATCHED_NUMBER = 4;
- public static final int NORMALIZED_NUMBER = 5;
- public static final int PHOTO_ID = 6;
- public static final int LOOKUP_KEY = 7;
- public static final int PHOTO_URI = 8;
+ static final int PERSON_ID = 0;
+ static final int NAME = 1;
+ static final int PHONE_TYPE = 2;
+ static final int LABEL = 3;
+ static final int MATCHED_NUMBER = 4;
+ static final int NORMALIZED_NUMBER = 5;
+ static final int PHOTO_ID = 6;
+ static final int LOOKUP_KEY = 7;
+ static final int PHOTO_URI = 8;
/** Projection to look up a contact's DISPLAY_NAME_ALTERNATIVE */
- public static final String[] DISPLAY_NAME_ALTERNATIVE_PROJECTION =
+ static final String[] DISPLAY_NAME_ALTERNATIVE_PROJECTION =
new String[] {
Contacts.DISPLAY_NAME_ALTERNATIVE,
};
- public static final int NAME_ALTERNATIVE = 0;
+ static final int NAME_ALTERNATIVE = 0;
- public static final String[] ADDITIONAL_CONTACT_INFO_PROJECTION =
+ static final String[] ADDITIONAL_CONTACT_INFO_PROJECTION =
new String[] {Phone.DISPLAY_NAME_ALTERNATIVE, Phone.CARRIER_PRESENCE};
- public static final int ADDITIONAL_CONTACT_INFO_DISPLAY_NAME_ALTERNATIVE = 0;
- public static final int ADDITIONAL_CONTACT_INFO_CARRIER_PRESENCE = 1;
+ static final int ADDITIONAL_CONTACT_INFO_DISPLAY_NAME_ALTERNATIVE = 0;
+ static final int ADDITIONAL_CONTACT_INFO_CARRIER_PRESENCE = 1;
/**
* Projection to look up the ContactInfo. Does not include DISPLAY_NAME_ALTERNATIVE as that column
@@ -66,31 +62,8 @@ final class PhoneQuery {
PhoneLookup.LOOKUP_KEY,
PhoneLookup.PHOTO_URI
};
- /**
- * Similar to {@link PHONE_LOOKUP_PROJECTION}. In pre-N, contact id is stored in {@link
- * PhoneLookup#_ID} in non-sip query.
- */
- private static final String[] BACKWARD_COMPATIBLE_NON_SIP_PHONE_LOOKUP_PROJECTION =
- new String[] {
- PhoneLookup._ID,
- PhoneLookup.DISPLAY_NAME,
- PhoneLookup.TYPE,
- PhoneLookup.LABEL,
- PhoneLookup.NUMBER,
- PhoneLookup.NORMALIZED_NUMBER,
- PhoneLookup.PHOTO_ID,
- PhoneLookup.LOOKUP_KEY,
- PhoneLookup.PHOTO_URI
- };
- public static String[] getPhoneLookupProjection(Uri phoneLookupUri) {
- if (VERSION.SDK_INT >= VERSION_CODES.N) {
+ static String[] getPhoneLookupProjection() {
return PHONE_LOOKUP_PROJECTION;
- }
- // Pre-N
- boolean isSip =
- phoneLookupUri.getBooleanQueryParameter(
- ContactsContract.PhoneLookup.QUERY_PARAMETER_SIP_ADDRESS, false);
- return (isSip) ? PHONE_LOOKUP_PROJECTION : BACKWARD_COMPATIBLE_NON_SIP_PHONE_LOOKUP_PROJECTION;
}
}
diff --git a/java/com/android/dialer/searchfragment/directories/DirectoriesCursorLoader.java b/java/com/android/dialer/searchfragment/directories/DirectoriesCursorLoader.java
index 4d7ea3f3d..754e055f0 100644
--- a/java/com/android/dialer/searchfragment/directories/DirectoriesCursorLoader.java
+++ b/java/com/android/dialer/searchfragment/directories/DirectoriesCursorLoader.java
@@ -20,9 +20,6 @@ package com.android.dialer.searchfragment.directories;
import android.content.Context;
import android.content.CursorLoader;
import android.database.Cursor;
-import android.net.Uri;
-import android.os.Build.VERSION;
-import android.os.Build.VERSION_CODES;
import android.provider.ContactsContract;
import android.support.annotation.Nullable;
import com.android.dialer.common.LogUtil;
@@ -51,7 +48,13 @@ public final class DirectoriesCursorLoader extends CursorLoader {
private static final int PHOTO_SUPPORT = 2;
public DirectoriesCursorLoader(Context context) {
- super(context, getContentUri(), PROJECTION, null, null, ContactsContract.Directory._ID);
+ super(
+ context,
+ ContactsContract.Directory.ENTERPRISE_CONTENT_URI,
+ PROJECTION,
+ null,
+ null,
+ ContactsContract.Directory._ID);
}
@Override
@@ -88,12 +91,6 @@ public final class DirectoriesCursorLoader extends CursorLoader {
return directories;
}
- private static Uri getContentUri() {
- return VERSION.SDK_INT >= VERSION_CODES.N
- ? ContactsContract.Directory.ENTERPRISE_CONTENT_URI
- : ContactsContract.Directory.CONTENT_URI;
- }
-
/** POJO representing the results returned from {@link DirectoriesCursorLoader}. */
@AutoValue
public abstract static class Directory {
diff --git a/java/com/android/dialer/searchfragment/directories/DirectoryContactViewHolder.java b/java/com/android/dialer/searchfragment/directories/DirectoryContactViewHolder.java
index fbb662ce9..29127ffce 100644
--- a/java/com/android/dialer/searchfragment/directories/DirectoryContactViewHolder.java
+++ b/java/com/android/dialer/searchfragment/directories/DirectoryContactViewHolder.java
@@ -29,7 +29,7 @@ import android.view.View;
import android.widget.ImageView;
import android.widget.QuickContactBadge;
import android.widget.TextView;
-import com.android.dialer.common.cp2.DirectoryCompat;
+import com.android.dialer.common.cp2.DirectoryUtils;
import com.android.dialer.contactphoto.ContactPhotoManager;
import com.android.dialer.lettertile.LetterTileDrawable;
import com.android.dialer.searchfragment.common.Projections;
@@ -80,7 +80,7 @@ public final class DirectoryContactViewHolder extends RecyclerView.ViewHolder
nameView.setText(QueryBoldingUtil.getNameWithQueryBolded(query, name, context));
numberView.setText(QueryBoldingUtil.getNameWithQueryBolded(query, secondaryInfo, context));
workBadge.setVisibility(
- DirectoryCompat.isOnlyEnterpriseDirectoryId(cursor.getDirectoryId())
+ DirectoryUtils.isLocalEnterpriseDirectoryId(cursor.getDirectoryId())
? View.VISIBLE
: View.GONE);
diff --git a/java/com/android/dialer/searchfragment/directories/DirectoryContactsCursor.java b/java/com/android/dialer/searchfragment/directories/DirectoryContactsCursor.java
index 0c1ad8318..b081de09c 100644
--- a/java/com/android/dialer/searchfragment/directories/DirectoryContactsCursor.java
+++ b/java/com/android/dialer/searchfragment/directories/DirectoryContactsCursor.java
@@ -23,7 +23,7 @@ import android.database.MergeCursor;
import android.support.annotation.Nullable;
import android.support.annotation.VisibleForTesting;
import com.android.dialer.common.Assert;
-import com.android.dialer.common.cp2.DirectoryCompat;
+import com.android.dialer.common.cp2.DirectoryUtils;
import com.android.dialer.searchfragment.common.SearchCursor;
import com.android.dialer.searchfragment.directories.DirectoriesCursorLoader.Directory;
import java.util.ArrayList;
@@ -101,7 +101,7 @@ public final class DirectoryContactsCursor extends MergeCursor implements Search
private static MatrixCursor createHeaderCursor(Context context, String name, long id) {
MatrixCursor headerCursor = new MatrixCursor(PROJECTION, 1);
- if (DirectoryCompat.isOnlyEnterpriseDirectoryId(id)) {
+ if (DirectoryUtils.isLocalEnterpriseDirectoryId(id)) {
headerCursor.addRow(
new Object[] {context.getString(R.string.directory_search_label_work), id});
} else {
diff --git a/java/com/android/dialer/searchfragment/directories/DirectoryContactsCursorLoader.java b/java/com/android/dialer/searchfragment/directories/DirectoryContactsCursorLoader.java
index d719cb9d9..bf56a1c18 100644
--- a/java/com/android/dialer/searchfragment/directories/DirectoryContactsCursorLoader.java
+++ b/java/com/android/dialer/searchfragment/directories/DirectoryContactsCursorLoader.java
@@ -21,13 +21,11 @@ import android.content.CursorLoader;
import android.database.Cursor;
import android.database.MatrixCursor;
import android.net.Uri;
-import android.os.Build.VERSION;
-import android.os.Build.VERSION_CODES;
import android.provider.ContactsContract;
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.support.annotation.NonNull;
import android.support.annotation.VisibleForTesting;
-import com.android.dialer.common.cp2.DirectoryCompat;
+import com.android.dialer.common.cp2.DirectoryUtils;
import com.android.dialer.searchfragment.common.Projections;
import com.android.dialer.searchfragment.directories.DirectoriesCursorLoader.Directory;
import java.util.ArrayList;
@@ -71,14 +69,14 @@ public final class DirectoryContactsCursorLoader extends CursorLoader {
for (int i = 0; i < directories.size(); i++) {
Directory directory = directories.get(i);
- if (!DirectoryCompat.isRemoteDirectoryId(directory.getId())
- && !DirectoryCompat.isEnterpriseDirectoryId(directory.getId())) {
+ if (!ContactsContract.Directory.isRemoteDirectoryId(directory.getId())
+ && !ContactsContract.Directory.isEnterpriseDirectoryId(directory.getId())) {
cursors[i] = null;
continue;
}
// Filter out invisible directories.
- if (DirectoryCompat.isInvisibleDirectory(directory.getId())) {
+ if (DirectoryUtils.isInvisibleDirectoryId(directory.getId())) {
cursors[i] = null;
continue;
}
@@ -145,12 +143,7 @@ public final class DirectoryContactsCursorLoader extends CursorLoader {
@VisibleForTesting
static Uri getContentFilterUri(String query, long directoryId) {
- Uri baseUri =
- VERSION.SDK_INT >= VERSION_CODES.N
- ? ENTERPRISE_CONTENT_FILTER_URI
- : Phone.CONTENT_FILTER_URI;
-
- return baseUri
+ return ENTERPRISE_CONTENT_FILTER_URI
.buildUpon()
.appendPath(query)
.appendQueryParameter(ContactsContract.DIRECTORY_PARAM_KEY, String.valueOf(directoryId))
diff --git a/java/com/android/dialer/strictmode/impl/SystemDialerStrictMode.java b/java/com/android/dialer/strictmode/impl/SystemDialerStrictMode.java
index 09fdf5cda..f3ce70cfd 100644
--- a/java/com/android/dialer/strictmode/impl/SystemDialerStrictMode.java
+++ b/java/com/android/dialer/strictmode/impl/SystemDialerStrictMode.java
@@ -18,6 +18,7 @@ package com.android.dialer.strictmode.impl;
import android.app.Application;
import android.os.Build;
+import android.os.Build.VERSION_CODES;
import android.os.Handler;
import android.os.Looper;
import android.os.StrictMode;
@@ -91,7 +92,7 @@ final class SystemDialerStrictMode implements DialerStrictMode {
new StrictMode.VmPolicy.Builder(vmPenalties)
.detectLeakedClosableObjects()
.detectLeakedSqlLiteObjects();
- if (Build.VERSION.SDK_INT >= 26) {
+ if (Build.VERSION.SDK_INT >= VERSION_CODES.O) {
vmPolicyBuilder.detectContentUriWithoutPermission();
// TODO(azlatin): Enable detecting untagged sockets once: a bug is fixed.
// vmPolicyBuilder.detectUntaggedSockets();
diff --git a/java/com/android/dialer/util/DialerUtils.java b/java/com/android/dialer/util/DialerUtils.java
index 7f7b9da74..49a07334f 100644
--- a/java/com/android/dialer/util/DialerUtils.java
+++ b/java/com/android/dialer/util/DialerUtils.java
@@ -15,6 +15,7 @@
*/
package com.android.dialer.util;
+import android.annotation.SuppressLint;
import android.app.AlertDialog;
import android.content.ActivityNotFoundException;
import android.content.Context;
@@ -22,8 +23,6 @@ import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.graphics.Point;
-import android.os.Build.VERSION;
-import android.os.Build.VERSION_CODES;
import android.os.Bundle;
import android.telecom.TelecomManager;
import android.telephony.TelephonyManager;
@@ -131,12 +130,12 @@ public class DialerUtils {
* currently active call over LTE. Regardless of the country or carrier, the radio will drop an
* active LTE call if a WPS number is dialed, so this warning is necessary.
*/
+ @SuppressLint("MissingPermission")
private static boolean shouldWarnForOutgoingWps(Context context, String number) {
if (number != null && number.startsWith(WPS_PREFIX)) {
TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class);
boolean isOnVolte =
- VERSION.SDK_INT >= VERSION_CODES.N
- && telephonyManager.getVoiceNetworkType() == TelephonyManager.NETWORK_TYPE_LTE;
+ telephonyManager.getVoiceNetworkType() == TelephonyManager.NETWORK_TYPE_LTE;
boolean hasCurrentActiveCall =
telephonyManager.getCallState() == TelephonyManager.CALL_STATE_OFFHOOK;
return isOnVolte && hasCurrentActiveCall;
diff --git a/java/com/android/dialer/voicemail/listui/error/VoicemailStatus.java b/java/com/android/dialer/voicemail/listui/error/VoicemailStatus.java
index 9b7b7fd86..4f4dbbbe8 100644
--- a/java/com/android/dialer/voicemail/listui/error/VoicemailStatus.java
+++ b/java/com/android/dialer/voicemail/listui/error/VoicemailStatus.java
@@ -107,16 +107,10 @@ public class VoicemailStatus {
}
isAirplaneMode =
Settings.System.getInt(context.getContentResolver(), Global.AIRPLANE_MODE_ON, 0) != 0;
-
- if (VERSION.SDK_INT >= VERSION_CODES.N) {
- quotaOccupied =
- getInt(statusCursor, VoicemailStatusQuery.QUOTA_OCCUPIED_INDEX, Status.QUOTA_UNAVAILABLE);
- quotaTotal =
- getInt(statusCursor, VoicemailStatusQuery.QUOTA_TOTAL_INDEX, Status.QUOTA_UNAVAILABLE);
- } else {
- quotaOccupied = Status.QUOTA_UNAVAILABLE;
- quotaTotal = Status.QUOTA_UNAVAILABLE;
- }
+ quotaOccupied =
+ getInt(statusCursor, VoicemailStatusQuery.QUOTA_OCCUPIED_INDEX, Status.QUOTA_UNAVAILABLE);
+ quotaTotal =
+ getInt(statusCursor, VoicemailStatusQuery.QUOTA_TOTAL_INDEX, Status.QUOTA_UNAVAILABLE);
}
private VoicemailStatus(Builder builder) {
diff --git a/java/com/android/dialer/voicemailstatus/VoicemailStatusQuery.java b/java/com/android/dialer/voicemailstatus/VoicemailStatusQuery.java
index 4a6e9f703..8923f7411 100644
--- a/java/com/android/dialer/voicemailstatus/VoicemailStatusQuery.java
+++ b/java/com/android/dialer/voicemailstatus/VoicemailStatusQuery.java
@@ -51,28 +51,24 @@ public class VoicemailStatusQuery {
@RequiresApi(VERSION_CODES.N_MR1)
public static final int SOURCE_TYPE_INDEX = 10;
- private static final String[] PROJECTION_M =
+ @RequiresApi(VERSION_CODES.N)
+ private static final String[] PROJECTION_N =
new String[] {
Status.SOURCE_PACKAGE, // 0
Status.SETTINGS_URI, // 1
Status.VOICEMAIL_ACCESS_URI, // 2
Status.CONFIGURATION_STATE, // 3
Status.DATA_CHANNEL_STATE, // 4
- Status.NOTIFICATION_CHANNEL_STATE // 5
+ Status.NOTIFICATION_CHANNEL_STATE, // 5
+ Status.QUOTA_OCCUPIED, // 6
+ Status.QUOTA_TOTAL // 7
};
- @RequiresApi(VERSION_CODES.N)
- private static final String[] PROJECTION_N;
-
@RequiresApi(VERSION_CODES.N_MR1)
private static final String[] PROJECTION_NMR1;
static {
- List<String> projectionList = new ArrayList<>(Arrays.asList(PROJECTION_M));
- projectionList.add(Status.QUOTA_OCCUPIED); // 6
- projectionList.add(Status.QUOTA_TOTAL); // 7
- PROJECTION_N = projectionList.toArray(new String[projectionList.size()]);
-
+ List<String> projectionList = new ArrayList<>(Arrays.asList(PROJECTION_N));
projectionList.add(Status.PHONE_ACCOUNT_COMPONENT_NAME); // 8
projectionList.add(Status.PHONE_ACCOUNT_ID); // 9
projectionList.add(Status.SOURCE_TYPE); // 10
@@ -80,12 +76,6 @@ public class VoicemailStatusQuery {
}
public static String[] getProjection() {
- if (VERSION.SDK_INT >= VERSION_CODES.N_MR1) {
- return PROJECTION_NMR1;
- }
- if (VERSION.SDK_INT >= VERSION_CODES.N) {
- return PROJECTION_N;
- }
- return PROJECTION_M;
+ return VERSION.SDK_INT >= VERSION_CODES.N_MR1 ? PROJECTION_NMR1 : PROJECTION_N;
}
}
diff --git a/java/com/android/incallui/CallCardPresenter.java b/java/com/android/incallui/CallCardPresenter.java
index 316b6cca0..9c5e0623e 100644
--- a/java/com/android/incallui/CallCardPresenter.java
+++ b/java/com/android/incallui/CallCardPresenter.java
@@ -46,7 +46,6 @@ import com.android.contacts.common.preference.ContactsPreferences;
import com.android.contacts.common.util.ContactDisplayUtils;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
-import com.android.dialer.compat.ActivityCompat;
import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
@@ -836,7 +835,7 @@ public class CallCardPresenter
LogUtil.i("CallCardPresenter.getLocationFragment", "low battery.");
return false;
}
- if (ActivityCompat.isInMultiWindowMode(inCallScreen.getInCallScreenFragment().getActivity())) {
+ if (inCallScreen.getInCallScreenFragment().getActivity().isInMultiWindowMode()) {
LogUtil.i("CallCardPresenter.getLocationFragment", "in multi-window mode");
return false;
}
diff --git a/java/com/android/incallui/CallerInfo.java b/java/com/android/incallui/CallerInfo.java
index 0aedea531..817535f52 100644
--- a/java/com/android/incallui/CallerInfo.java
+++ b/java/com/android/incallui/CallerInfo.java
@@ -21,7 +21,6 @@ import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
import android.net.Uri;
-import android.os.Build.VERSION;
import android.os.Build.VERSION_CODES;
import android.provider.ContactsContract;
import android.provider.ContactsContract.CommonDataKinds.Phone;
@@ -37,7 +36,6 @@ import com.android.contacts.common.ContactsUtils.UserType;
import com.android.contacts.common.util.TelephonyManagerUtils;
import com.android.dialer.logging.ContactLookupResult;
import com.android.dialer.phonenumbercache.ContactInfoHelper;
-import com.android.dialer.phonenumbercache.PhoneLookupUtil;
import com.android.dialer.phonenumberutil.PhoneNumberHelper;
/**
@@ -48,7 +46,6 @@ public class CallerInfo {
private static final String TAG = "CallerInfo";
- // We should always use this projection starting from N onward.
@RequiresApi(VERSION_CODES.N)
private static final String[] DEFAULT_PHONELOOKUP_PROJECTION =
new String[] {
@@ -64,20 +61,6 @@ public class CallerInfo {
PhoneLookup.SEND_TO_VOICEMAIL
};
- // In pre-N, contact id is stored in {@link PhoneLookup._ID} in non-sip query.
- private static final String[] BACKWARD_COMPATIBLE_NON_SIP_DEFAULT_PHONELOOKUP_PROJECTION =
- new String[] {
- PhoneLookup._ID,
- PhoneLookup.DISPLAY_NAME,
- PhoneLookup.LOOKUP_KEY,
- PhoneLookup.NUMBER,
- PhoneLookup.NORMALIZED_NUMBER,
- PhoneLookup.LABEL,
- PhoneLookup.TYPE,
- PhoneLookup.PHOTO_URI,
- PhoneLookup.CUSTOM_RINGTONE,
- PhoneLookup.SEND_TO_VOICEMAIL
- };
/**
* Please note that, any one of these member variables can be null, and any accesses to them
* should be prepared to handle such a case.
@@ -176,17 +159,8 @@ public class CallerInfo {
userType = ContactsUtils.USER_TYPE_CURRENT;
}
- public static String[] getDefaultPhoneLookupProjection(Uri phoneLookupUri) {
- if (VERSION.SDK_INT >= VERSION_CODES.N) {
- return DEFAULT_PHONELOOKUP_PROJECTION;
- }
- // Pre-N
- boolean isSip =
- phoneLookupUri.getBooleanQueryParameter(
- ContactsContract.PhoneLookup.QUERY_PARAMETER_SIP_ADDRESS, false);
- return (isSip)
- ? DEFAULT_PHONELOOKUP_PROJECTION
- : BACKWARD_COMPATIBLE_NON_SIP_DEFAULT_PHONELOOKUP_PROJECTION;
+ static String[] getDefaultPhoneLookupProjection() {
+ return DEFAULT_PHONELOOKUP_PROJECTION;
}
/**
@@ -276,9 +250,7 @@ public class CallerInfo {
columnIndex = getColumnIndexForPersonId(contactRef, cursor);
if (columnIndex != -1) {
contactId = cursor.getLong(columnIndex);
- // QuickContacts in M doesn't support enterprise contact id
- if (contactId != 0
- && (VERSION.SDK_INT >= VERSION_CODES.N || !Contacts.isEnterpriseContactId(contactId))) {
+ if (contactId != 0 && !Contacts.isEnterpriseContactId(contactId)) {
info.contactIdOrZero = contactId;
Log.v(TAG, "==> got info.contactIdOrZero: " + info.contactIdOrZero);
}
@@ -453,7 +425,7 @@ public class CallerInfo {
// for phone numbers.
// MIME type: PhoneLookup.CONTENT_TYPE (= "vnd.android.cursor.dir/phone_lookup")
Log.v(TAG, "'phone_lookup' URI; using PhoneLookup._ID");
- columnName = PhoneLookupUtil.getContactIdColumnNameForUri(contactRef);
+ columnName = PhoneLookup.CONTACT_ID;
} else {
Log.v(TAG, "Unexpected prefix for contactRef '" + url + "'");
}
diff --git a/java/com/android/incallui/CallerInfoAsyncQuery.java b/java/com/android/incallui/CallerInfoAsyncQuery.java
index 4170cc318..0ac252acf 100644
--- a/java/com/android/incallui/CallerInfoAsyncQuery.java
+++ b/java/com/android/incallui/CallerInfoAsyncQuery.java
@@ -24,7 +24,6 @@ import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.net.Uri;
-import android.os.Build.VERSION;
import android.os.Build.VERSION_CODES;
import android.os.Handler;
import android.os.Looper;
@@ -36,7 +35,6 @@ import android.support.annotation.MainThread;
import android.support.annotation.RequiresPermission;
import android.support.annotation.WorkerThread;
import android.text.TextUtils;
-import com.android.dialer.common.cp2.DirectoryCompat;
import com.android.dialer.phonenumbercache.CachedNumberLookupService;
import com.android.dialer.phonenumbercache.CachedNumberLookupService.CachedContactInfo;
import com.android.dialer.phonenumbercache.ContactInfoHelper;
@@ -174,7 +172,7 @@ public class CallerInfoAsyncQuery {
cw.event = EVENT_NEW_QUERY;
}
- String[] proejection = CallerInfo.getDefaultPhoneLookupProjection(contactRef);
+ String[] proejection = CallerInfo.getDefaultPhoneLookupProjection();
handler.startQuery(
token,
cw, // cookie
@@ -223,10 +221,7 @@ public class CallerInfoAsyncQuery {
private static long[] getDirectoryIds(Context context) {
ArrayList<Long> results = new ArrayList<>();
- Uri uri = Directory.CONTENT_URI;
- if (VERSION.SDK_INT >= VERSION_CODES.N) {
- uri = Uri.withAppendedPath(ContactsContract.AUTHORITY_URI, "directories_enterprise");
- }
+ Uri uri = Uri.withAppendedPath(ContactsContract.AUTHORITY_URI, "directories_enterprise");
ContentResolver cr = context.getContentResolver();
Cursor cursor = cr.query(uri, DIRECTORY_PROJECTION, null, null, null);
@@ -244,7 +239,7 @@ public class CallerInfoAsyncQuery {
int idIndex = cursor.getColumnIndex(Directory._ID);
while (cursor.moveToNext()) {
long id = cursor.getLong(idIndex);
- if (DirectoryCompat.isRemoteDirectoryId(id)) {
+ if (Directory.isRemoteDirectoryId(id)) {
results.add(id);
}
}
diff --git a/java/com/android/incallui/ContactInfoCache.java b/java/com/android/incallui/ContactInfoCache.java
index b79fd641a..165ec13bf 100644
--- a/java/com/android/incallui/ContactInfoCache.java
+++ b/java/com/android/incallui/ContactInfoCache.java
@@ -22,8 +22,6 @@ import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.media.RingtoneManager;
import android.net.Uri;
-import android.os.Build.VERSION;
-import android.os.Build.VERSION_CODES;
import android.os.SystemClock;
import android.os.Trace;
import android.provider.ContactsContract.CommonDataKinds.Phone;
@@ -641,10 +639,7 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
cce.photo = null;
}
- // Support any contact id in N because QuickContacts in N starts supporting enterprise
- // contact id
- if (info.lookupKeyOrNull != null
- && (VERSION.SDK_INT >= VERSION_CODES.N || info.contactIdOrZero != 0)) {
+ if (info.lookupKeyOrNull != null && info.contactIdOrZero != 0) {
cce.lookupUri = Contacts.getLookupUri(info.contactIdOrZero, info.lookupKeyOrNull);
} else {
Log.v(TAG, "lookup key is null or contact ID is 0 on M. Don't create a lookup uri.");
diff --git a/java/com/android/incallui/InCallActivity.java b/java/com/android/incallui/InCallActivity.java
index be365096a..3236e160a 100644
--- a/java/com/android/incallui/InCallActivity.java
+++ b/java/com/android/incallui/InCallActivity.java
@@ -60,7 +60,6 @@ import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
import com.android.dialer.common.concurrent.DialerExecutorComponent;
import com.android.dialer.common.concurrent.ThreadUtil;
-import com.android.dialer.compat.ActivityCompat;
import com.android.dialer.compat.CompatUtils;
import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.logging.DialerImpression.Type;
@@ -465,8 +464,7 @@ public class InCallActivity extends TransactionSafeFragmentActivity
InCallPresenter.getInstance().onUiShowing(true);
}
- if (ActivityCompat.isInMultiWindowMode(this)
- && !getResources().getBoolean(R.bool.incall_dialpad_allowed)) {
+ if (isInMultiWindowMode() && !getResources().getBoolean(R.bool.incall_dialpad_allowed)) {
// Hide the dialpad because there may not be enough room
showDialpadFragment(false, false);
}
@@ -926,7 +924,7 @@ public class InCallActivity extends TransactionSafeFragmentActivity
@ColorInt int bottom;
@ColorInt int gray = 0x66000000;
- if (ActivityCompat.isInMultiWindowMode(this)) {
+ if (isInMultiWindowMode()) {
top = themeColorManager.getBackgroundColorSolid();
middle = themeColorManager.getBackgroundColorSolid();
bottom = themeColorManager.getBackgroundColorSolid();
@@ -1236,7 +1234,7 @@ public class InCallActivity extends TransactionSafeFragmentActivity
}
private void updateNavigationBar(boolean isDialpadVisible) {
- if (ActivityCompat.isInMultiWindowMode(this)) {
+ if (isInMultiWindowMode()) {
return;
}
diff --git a/java/com/android/incallui/answer/impl/AnswerFragment.java b/java/com/android/incallui/answer/impl/AnswerFragment.java
index 05fd4f6b2..e5271f5c2 100644
--- a/java/com/android/incallui/answer/impl/AnswerFragment.java
+++ b/java/com/android/incallui/answer/impl/AnswerFragment.java
@@ -53,7 +53,6 @@ import com.android.dialer.common.Assert;
import com.android.dialer.common.FragmentUtils;
import com.android.dialer.common.LogUtil;
import com.android.dialer.common.MathUtil;
-import com.android.dialer.compat.ActivityCompat;
import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
import com.android.dialer.multimedia.MultimediaData;
@@ -411,7 +410,7 @@ public class AnswerFragment extends Fragment
LogUtil.i("AnswerFragment.setTextResponses", "no text responses, hiding secondary button");
this.textResponses = null;
secondaryButton.setVisibility(View.INVISIBLE);
- } else if (ActivityCompat.isInMultiWindowMode(getActivity())) {
+ } else if (getActivity().isInMultiWindowMode()) {
LogUtil.i("AnswerFragment.setTextResponses", "in multiwindow, hiding secondary button");
this.textResponses = null;
secondaryButton.setVisibility(View.INVISIBLE);
@@ -731,7 +730,7 @@ public class AnswerFragment extends Fragment
updateImportanceBadgeVisibility();
contactGridManager = new ContactGridManager(view, null, 0, false /* showAnonymousAvatar */);
- boolean isInMultiWindowMode = ActivityCompat.isInMultiWindowMode(getActivity());
+ boolean isInMultiWindowMode = getActivity().isInMultiWindowMode();
contactGridManager.onMultiWindowModeChanged(isInMultiWindowMode);
Fragment answerMethod =
diff --git a/java/com/android/incallui/answer/impl/answermethod/AnswerMethodFactory.java b/java/com/android/incallui/answer/impl/answermethod/AnswerMethodFactory.java
index ccb132b95..f318f0826 100644
--- a/java/com/android/incallui/answer/impl/answermethod/AnswerMethodFactory.java
+++ b/java/com/android/incallui/answer/impl/answermethod/AnswerMethodFactory.java
@@ -22,7 +22,6 @@ import android.support.annotation.Nullable;
import android.support.annotation.VisibleForTesting;
import android.support.v4.app.Fragment;
import com.android.dialer.common.LogUtil;
-import com.android.dialer.compat.ActivityCompat;
import com.android.incallui.util.AccessibilityUtil;
/** Creates the appropriate {@link AnswerMethod} for the circumstances. */
@@ -59,7 +58,6 @@ public class AnswerMethodFactory {
return true;
}
- return AccessibilityUtil.isTouchExplorationEnabled(activity)
- || ActivityCompat.isInMultiWindowMode(activity);
+ return AccessibilityUtil.isTouchExplorationEnabled(activity) || activity.isInMultiWindowMode();
}
}
diff --git a/java/com/android/incallui/answer/impl/answermethod/TwoButtonMethod.java b/java/com/android/incallui/answer/impl/answermethod/TwoButtonMethod.java
index 67b1b9689..10864499e 100644
--- a/java/com/android/incallui/answer/impl/answermethod/TwoButtonMethod.java
+++ b/java/com/android/incallui/answer/impl/answermethod/TwoButtonMethod.java
@@ -36,7 +36,6 @@ import android.view.ViewGroup;
import android.widget.TextView;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
-import com.android.dialer.compat.ActivityCompat;
import com.android.incallui.answer.impl.answermethod.FlingUpDownTouchHandler.OnProgressChangedListener;
import com.android.incallui.util.AccessibilityUtil;
@@ -157,8 +156,7 @@ public class TwoButtonMethod extends AnswerMethod
if (hintTextView == null) {
return;
}
- hintTextView.setVisibility(
- ActivityCompat.isInMultiWindowMode(getActivity()) ? View.GONE : View.VISIBLE);
+ hintTextView.setVisibility(getActivity().isInMultiWindowMode() ? View.GONE : View.VISIBLE);
if (!TextUtils.isEmpty(hintText) && !buttonClicked) {
hintTextView.setText(hintText);
hintTextView.animate().alpha(1f).start();
diff --git a/java/com/android/incallui/autoresizetext/AutoResizeTextView.java b/java/com/android/incallui/autoresizetext/AutoResizeTextView.java
index 487283a6b..c8647fca2 100644
--- a/java/com/android/incallui/autoresizetext/AutoResizeTextView.java
+++ b/java/com/android/incallui/autoresizetext/AutoResizeTextView.java
@@ -19,8 +19,6 @@ package com.android.incallui.autoresizetext;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.RectF;
-import android.os.Build.VERSION;
-import android.os.Build.VERSION_CODES;
import android.support.annotation.Nullable;
import android.text.Layout.Alignment;
import android.text.StaticLayout;
@@ -52,9 +50,6 @@ public class AutoResizeTextView extends TextView {
private float minTextSize = DEFAULT_MIN_TEXT_SIZE;
private float maxTextSize;
private int maxWidth;
- private int maxLines;
- private float lineSpacingMultiplier = 1.0f;
- private float lineSpacingExtra = 0.0f;
public AutoResizeTextView(Context context) {
super(context, null, 0);
@@ -86,53 +81,6 @@ public class AutoResizeTextView extends TextView {
textPaint.set(getPaint());
}
- /** Overridden because getMaxLines is only defined in JB+. */
- @Override
- public final int getMaxLines() {
- if (VERSION.SDK_INT >= VERSION_CODES.JELLY_BEAN) {
- return super.getMaxLines();
- } else {
- return maxLines;
- }
- }
-
- /** Overridden because getMaxLines is only defined in JB+. */
- @Override
- public final void setMaxLines(int maxLines) {
- super.setMaxLines(maxLines);
- this.maxLines = maxLines;
- }
-
- /** Overridden because getLineSpacingMultiplier is only defined in JB+. */
- @Override
- public final float getLineSpacingMultiplier() {
- if (VERSION.SDK_INT >= VERSION_CODES.JELLY_BEAN) {
- return super.getLineSpacingMultiplier();
- } else {
- return lineSpacingMultiplier;
- }
- }
-
- /** Overridden because getLineSpacingExtra is only defined in JB+. */
- @Override
- public final float getLineSpacingExtra() {
- if (VERSION.SDK_INT >= VERSION_CODES.JELLY_BEAN) {
- return super.getLineSpacingExtra();
- } else {
- return lineSpacingExtra;
- }
- }
-
- /**
- * Overridden because getLineSpacingMultiplier and getLineSpacingExtra are only defined in JB+.
- */
- @Override
- public final void setLineSpacing(float add, float mult) {
- super.setLineSpacing(add, mult);
- lineSpacingMultiplier = mult;
- lineSpacingExtra = add;
- }
-
/**
* Although this overrides the setTextSize method from the TextView base class, it changes the
* semantics a bit: Calling setTextSize now specifies the maximum text size to be used by this
diff --git a/java/com/android/incallui/call/DialerCall.java b/java/com/android/incallui/call/DialerCall.java
index 2ce4550bb..9a7c6530f 100644
--- a/java/com/android/incallui/call/DialerCall.java
+++ b/java/com/android/incallui/call/DialerCall.java
@@ -1018,13 +1018,10 @@ public class DialerCall implements VideoTechListener, StateChangedListener, Capa
* <p>An external call is one which does not exist locally for the {@link
* android.telecom.ConnectionService} it is associated with.
*
- * <p>External calls are only supported in N and higher.
- *
* @return {@code true} if the call is an external call, {@code false} otherwise.
*/
- public boolean isExternalCall() {
- return VERSION.SDK_INT >= VERSION_CODES.N
- && hasProperty(CallCompat.Details.PROPERTY_IS_EXTERNAL_CALL);
+ boolean isExternalCall() {
+ return hasProperty(CallCompat.Details.PROPERTY_IS_EXTERNAL_CALL);
}
/**
diff --git a/java/com/android/incallui/incall/impl/InCallFragment.java b/java/com/android/incallui/incall/impl/InCallFragment.java
index 1cada325a..fb8c2c403 100644
--- a/java/com/android/incallui/incall/impl/InCallFragment.java
+++ b/java/com/android/incallui/incall/impl/InCallFragment.java
@@ -17,10 +17,9 @@
package com.android.incallui.incall.impl;
import android.Manifest.permission;
+import android.annotation.SuppressLint;
import android.content.Context;
import android.content.pm.PackageManager;
-import android.os.Build.VERSION;
-import android.os.Build.VERSION_CODES;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.ColorInt;
@@ -44,7 +43,6 @@ import android.widget.Toast;
import com.android.dialer.common.Assert;
import com.android.dialer.common.FragmentUtils;
import com.android.dialer.common.LogUtil;
-import com.android.dialer.compat.ActivityCompat;
import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
import com.android.dialer.multimedia.MultimediaData;
@@ -141,6 +139,7 @@ public class InCallFragment extends Fragment
@Nullable
@Override
+ @SuppressLint("MissingPermission")
public View onCreateView(
@NonNull LayoutInflater layoutInflater,
@Nullable ViewGroup viewGroup,
@@ -156,7 +155,7 @@ public class InCallFragment extends Fragment
(ImageView) view.findViewById(R.id.contactgrid_avatar),
getResources().getDimensionPixelSize(R.dimen.incall_avatar_size),
true /* showAnonymousAvatar */);
- contactGridManager.onMultiWindowModeChanged(ActivityCompat.isInMultiWindowMode(getActivity()));
+ contactGridManager.onMultiWindowModeChanged(getActivity().isInMultiWindowMode());
paginator = (InCallPaginator) view.findViewById(R.id.incall_paginator);
pager = (LockableViewPager) view.findViewById(R.id.incall_pager);
@@ -173,11 +172,8 @@ public class InCallFragment extends Fragment
!= PackageManager.PERMISSION_GRANTED) {
voiceNetworkType = TelephonyManager.NETWORK_TYPE_UNKNOWN;
} else {
-
voiceNetworkType =
- VERSION.SDK_INT >= VERSION_CODES.N
- ? getContext().getSystemService(TelephonyManager.class).getVoiceNetworkType()
- : TelephonyManager.NETWORK_TYPE_UNKNOWN;
+ getContext().getSystemService(TelephonyManager.class).getVoiceNetworkType();
}
// TODO(a bug): Change to use corresponding phone type used for current call.
phoneType = getContext().getSystemService(TelephonyManager.class).getPhoneType();
diff --git a/java/com/android/incallui/ringtone/DialerRingtoneManager.java b/java/com/android/incallui/ringtone/DialerRingtoneManager.java
index 49badf575..b8a3071cc 100644
--- a/java/com/android/incallui/ringtone/DialerRingtoneManager.java
+++ b/java/com/android/incallui/ringtone/DialerRingtoneManager.java
@@ -18,8 +18,6 @@ package com.android.incallui.ringtone;
import android.content.ContentResolver;
import android.net.Uri;
-import android.os.Build.VERSION;
-import android.os.Build.VERSION_CODES;
import android.provider.Settings;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
@@ -92,11 +90,9 @@ public class DialerRingtoneManager {
}
private boolean isDialerRingingEnabled() {
- boolean enabledFlag =
- isDialerRingingEnabledForTesting != null
- ? isDialerRingingEnabledForTesting
- : IS_DIALER_RINGING_ENABLED;
- return VERSION.SDK_INT >= VERSION_CODES.N && enabledFlag;
+ return isDialerRingingEnabledForTesting != null
+ ? isDialerRingingEnabledForTesting
+ : IS_DIALER_RINGING_ENABLED;
}
/**
diff --git a/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java b/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java
index b97d2eb16..f270edab9 100644
--- a/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java
+++ b/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java
@@ -50,7 +50,6 @@ import android.widget.TextView;
import com.android.dialer.common.Assert;
import com.android.dialer.common.FragmentUtils;
import com.android.dialer.common.LogUtil;
-import com.android.dialer.compat.ActivityCompat;
import com.android.dialer.util.PermissionsUtil;
import com.android.incallui.audioroute.AudioRouteSelectorDialogFragment;
import com.android.incallui.audioroute.AudioRouteSelectorDialogFragment.AudioRouteSelectorPresenter;
@@ -187,8 +186,7 @@ public class SurfaceViewVideoCallFragment extends Fragment
new ContactGridManager(view, null /* no avatar */, 0, false /* showAnonymousAvatar */);
controls = view.findViewById(R.id.videocall_video_controls);
- controls.setVisibility(
- ActivityCompat.isInMultiWindowMode(getActivity()) ? View.GONE : View.VISIBLE);
+ controls.setVisibility(getActivity().isInMultiWindowMode() ? View.GONE : View.VISIBLE);
controlsContainer = view.findViewById(R.id.videocall_video_controls_container);
speakerButton = (CheckableImageButton) view.findViewById(R.id.videocall_speaker_button);
muteButton = (CheckableImageButton) view.findViewById(R.id.videocall_mute_button);
@@ -200,8 +198,7 @@ public class SurfaceViewVideoCallFragment extends Fragment
swapCameraButton = (ImageButton) view.findViewById(R.id.videocall_switch_video);
swapCameraButton.setOnClickListener(this);
view.findViewById(R.id.videocall_switch_controls)
- .setVisibility(
- ActivityCompat.isInMultiWindowMode(getActivity()) ? View.GONE : View.VISIBLE);
+ .setVisibility(getActivity().isInMultiWindowMode() ? View.GONE : View.VISIBLE);
switchOnHoldButton = view.findViewById(R.id.videocall_switch_on_hold);
onHoldContainer = view.findViewById(R.id.videocall_on_hold_banner);
remoteVideoOff = (TextView) view.findViewById(R.id.videocall_remote_video_off);
@@ -478,7 +475,7 @@ public class SurfaceViewVideoCallFragment extends Fragment
private Point getPreviewOffsetStartShown() {
// No insets in multiwindow mode, and rootWindowInsets will get the display's insets.
- if (ActivityCompat.isInMultiWindowMode(getActivity())) {
+ if (getActivity().isInMultiWindowMode()) {
return new Point();
}
if (isLandscape()) {
@@ -690,7 +687,7 @@ public class SurfaceViewVideoCallFragment extends Fragment
isInGreenScreenMode = shouldShowGreenScreen;
isInFullscreenMode = shouldShowFullscreen;
- if (getView().isAttachedToWindow() && !ActivityCompat.isInMultiWindowMode(getActivity())) {
+ if (getView().isAttachedToWindow() && !getActivity().isInMultiWindowMode()) {
controlsContainer.onApplyWindowInsets(getView().getRootWindowInsets());
}
if (shouldShowGreenScreen) {
diff --git a/java/com/android/incallui/video/impl/VideoCallFragment.java b/java/com/android/incallui/video/impl/VideoCallFragment.java
index 2a810cfcd..11b80ceb9 100644
--- a/java/com/android/incallui/video/impl/VideoCallFragment.java
+++ b/java/com/android/incallui/video/impl/VideoCallFragment.java
@@ -60,7 +60,6 @@ import android.widget.TextView;
import com.android.dialer.common.Assert;
import com.android.dialer.common.FragmentUtils;
import com.android.dialer.common.LogUtil;
-import com.android.dialer.compat.ActivityCompat;
import com.android.dialer.util.PermissionsUtil;
import com.android.incallui.audioroute.AudioRouteSelectorDialogFragment;
import com.android.incallui.audioroute.AudioRouteSelectorDialogFragment.AudioRouteSelectorPresenter;
@@ -234,8 +233,7 @@ public class VideoCallFragment extends Fragment
new ContactGridManager(view, null /* no avatar */, 0, false /* showAnonymousAvatar */);
controls = view.findViewById(R.id.videocall_video_controls);
- controls.setVisibility(
- ActivityCompat.isInMultiWindowMode(getActivity()) ? View.GONE : View.VISIBLE);
+ controls.setVisibility(getActivity().isInMultiWindowMode() ? View.GONE : View.VISIBLE);
controlsContainer = view.findViewById(R.id.videocall_video_controls_container);
speakerButton = (CheckableImageButton) view.findViewById(R.id.videocall_speaker_button);
muteButton = (CheckableImageButton) view.findViewById(R.id.videocall_mute_button);
@@ -249,8 +247,7 @@ public class VideoCallFragment extends Fragment
swapCameraButton = (ImageButton) view.findViewById(R.id.videocall_switch_video);
swapCameraButton.setOnClickListener(this);
view.findViewById(R.id.videocall_switch_controls)
- .setVisibility(
- ActivityCompat.isInMultiWindowMode(getActivity()) ? View.GONE : View.VISIBLE);
+ .setVisibility(getActivity().isInMultiWindowMode() ? View.GONE : View.VISIBLE);
switchOnHoldButton = view.findViewById(R.id.videocall_switch_on_hold);
onHoldContainer = view.findViewById(R.id.videocall_on_hold_banner);
remoteVideoOff = (TextView) view.findViewById(R.id.videocall_remote_video_off);
@@ -540,7 +537,7 @@ public class VideoCallFragment extends Fragment
private Point getPreviewOffsetStartShown() {
// No insets in multiwindow mode, and rootWindowInsets will get the display's insets.
- if (ActivityCompat.isInMultiWindowMode(getActivity())) {
+ if (getActivity().isInMultiWindowMode()) {
return new Point();
}
if (isLandscape()) {
@@ -758,7 +755,7 @@ public class VideoCallFragment extends Fragment
isInGreenScreenMode = shouldShowGreenScreen;
isInFullscreenMode = shouldShowFullscreen;
- if (getView().isAttachedToWindow() && !ActivityCompat.isInMultiWindowMode(getActivity())) {
+ if (getView().isAttachedToWindow() && !getActivity().isInMultiWindowMode()) {
controlsContainer.onApplyWindowInsets(getView().getRootWindowInsets());
}
if (shouldShowGreenScreen) {