summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Parkinson <ianp@google.com>2014-10-06 16:59:53 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-10-06 16:59:53 +0000
commit33de945451e1380eff2f4c6cd3aa5bb32c0ad368 (patch)
treed3898c8e87d2c03ccc7bb9ca67f8c412c1b153e5
parentb2331f6601d26cf042e70070e1ef32fe06827f4d (diff)
parent0c2918f4f4c4a9a6609b82cf23155ed51840f2c8 (diff)
downloadandroid_packages_apps_Trebuchet-33de945451e1380eff2f4c6cd3aa5bb32c0ad368.tar.gz
android_packages_apps_Trebuchet-33de945451e1380eff2f4c6cd3aa5bb32c0ad368.tar.bz2
android_packages_apps_Trebuchet-33de945451e1380eff2f4c6cd3aa5bb32c0ad368.zip
am 0c2918f4: Use View.generateViewId if available
* commit '0c2918f4f4c4a9a6609b82cf23155ed51840f2c8': Use View.generateViewId if available
-rw-r--r--src/com/android/launcher3/Launcher.java25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 4a39e0ae5..3b903c062 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -689,19 +689,20 @@ public class Launcher extends Activity
}
}
- /**
- * Copied from View -- the View version of the method isn't called
- * anywhere else in our process and only exists for API level 17+,
- * so it's ok to keep our own version with no API requirement.
- */
public static int generateViewId() {
- for (;;) {
- final int result = sNextGeneratedId.get();
- // aapt-generated IDs have the high byte nonzero; clamp to the range under that.
- int newValue = result + 1;
- if (newValue > 0x00FFFFFF) newValue = 1; // Roll over to 1, not 0.
- if (sNextGeneratedId.compareAndSet(result, newValue)) {
- return result;
+ if (Build.VERSION.SDK_INT >= 17) {
+ return View.generateViewId();
+ } else {
+ // View.generateViewId() is not available. The following fallback logic is a copy
+ // of its implementation.
+ for (;;) {
+ final int result = sNextGeneratedId.get();
+ // aapt-generated IDs have the high byte nonzero; clamp to the range under that.
+ int newValue = result + 1;
+ if (newValue > 0x00FFFFFF) newValue = 1; // Roll over to 1, not 0.
+ if (sNextGeneratedId.compareAndSet(result, newValue)) {
+ return result;
+ }
}
}
}