summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Jurka <mikejurka@google.com>2012-05-22 22:00:31 -0700
committerMichael Jurka <mikejurka@google.com>2012-05-22 22:00:31 -0700
commit974c3864bb438fc924913e0017385f873332d052 (patch)
treebb5f9b4668f5850a72be09016716a9d0ea6f7212
parentb6d33ebc41b13cb51d4bc142cbfbf4970aba9426 (diff)
downloadandroid_packages_apps_Trebuchet-974c3864bb438fc924913e0017385f873332d052.zip
android_packages_apps_Trebuchet-974c3864bb438fc924913e0017385f873332d052.tar.gz
android_packages_apps_Trebuchet-974c3864bb438fc924913e0017385f873332d052.tar.bz2
Skip custom Play cling if no accounts are set up
Bug: 6519934 Change-Id: Ic796b2fb03201a3c767f92b36edfdb4b2e41e5d4
-rw-r--r--AndroidManifest.xml1
-rw-r--r--src/com/android/launcher2/Cling.java4
-rw-r--r--src/com/android/launcher2/Launcher.java17
3 files changed, 21 insertions, 1 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 47278bb..dbeb7bc 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -57,6 +57,7 @@
<uses-permission android:name="android.permission.SET_WALLPAPER_HINTS" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.BIND_APPWIDGET" />
+ <uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="com.android.launcher.permission.WRITE_SETTINGS" />
diff --git a/src/com/android/launcher2/Cling.java b/src/com/android/launcher2/Cling.java
index 5cde0b4..c83ee2f 100644
--- a/src/com/android/launcher2/Cling.java
+++ b/src/com/android/launcher2/Cling.java
@@ -115,6 +115,10 @@ public class Cling extends FrameLayout {
mIsInitialized = false;
}
+ public String getDrawIdentifier() {
+ return mDrawIdentifier;
+ }
+
private int[] getPunchThroughPositions() {
if (mDrawIdentifier.equals(WORKSPACE_PORTRAIT)) {
return new int[]{getMeasuredWidth() / 2, getMeasuredHeight() - (mButtonBarHeight / 2)};
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index 84b5003..d01de9c 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -17,6 +17,8 @@
package com.android.launcher2;
+import android.accounts.Account;
+import android.accounts.AccountManager;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.AnimatorSet;
@@ -3516,10 +3518,23 @@ public final class Launcher extends Activity
});
}
}
+
+ private boolean skipCustomClingIfNoAccounts() {
+ Cling cling = (Cling) findViewById(R.id.workspace_cling);
+ boolean customCling = cling.getDrawIdentifier().equals("workspace_custom");
+ if (customCling) {
+ AccountManager am = AccountManager.get(this);
+ Account[] accounts = am.getAccountsByType("com.google");
+ return accounts.length == 0;
+ }
+ return false;
+ }
+
public void showFirstRunWorkspaceCling() {
// Enable the clings only if they have not been dismissed before
if (isClingsEnabled() &&
- !mSharedPrefs.getBoolean(Cling.WORKSPACE_CLING_DISMISSED_KEY, false)) {
+ !mSharedPrefs.getBoolean(Cling.WORKSPACE_CLING_DISMISSED_KEY, false) &&
+ !skipCustomClingIfNoAccounts() ) {
initCling(R.id.workspace_cling, null, false, 0);
} else {
removeCling(R.id.workspace_cling);