summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Jurka <mikejurka@google.com>2013-09-12 00:05:02 +0200
committerMichael Jurka <mikejurka@google.com>2013-09-13 18:16:54 +0200
commitadc574ccb1986856b38198ad5a934b7543a1debb (patch)
treee0ad8ad86b1abe482a2c5820e7f4a3dacf0e5de8
parent80521d95f96f6eb630c269f899ecc28b809fb5ba (diff)
downloadandroid_packages_apps_Trebuchet-adc574ccb1986856b38198ad5a934b7543a1debb.tar.gz
android_packages_apps_Trebuchet-adc574ccb1986856b38198ad5a934b7543a1debb.tar.bz2
android_packages_apps_Trebuchet-adc574ccb1986856b38198ad5a934b7543a1debb.zip
Update to using new crop intent
Also, unify WallpaperCropActivity so it's identical to the system default version (mainly removing Launcher dependencies) Change-Id: I1ebc390bce23de62d76daced6f8cb44d57e4ac0c
-rw-r--r--AndroidManifest.xml12
-rw-r--r--res/values/strings.xml2
-rw-r--r--res/values/styles.xml6
-rw-r--r--src/com/android/launcher3/WallpaperCropActivity.java16
-rw-r--r--src/com/android/launcher3/Workspace.java5
5 files changed, 28 insertions, 13 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 996bef77b..14fb04403 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -104,28 +104,28 @@
<activity
android:name="com.android.launcher3.WallpaperPickerActivity"
- android:theme="@style/Theme.WallpaperPicker"
+ android:theme="@style/Theme.WallpaperCropper"
android:label="@string/pick_wallpaper"
android:icon="@mipmap/ic_launcher_wallpaper"
android:finishOnCloseSystemDialogs="true"
android:process=":wallpaper_chooser">
<intent-filter>
- <action android:name="android.intent.action.CROP_AND_SET_WALLPAPER" />
+ <action android:name="android.intent.action.SET_WALLPAPER" />
<category android:name="android.intent.category.DEFAULT" />
- <data android:mimeType="image/*" />
</intent-filter>
</activity>
<activity
android:name="com.android.launcher3.WallpaperCropActivity"
- android:theme="@style/Theme.WallpaperPicker"
- android:label="@string/pick_wallpaper"
+ android:theme="@style/Theme.WallpaperCropper"
+ android:label="@string/crop_wallpaper"
android:icon="@mipmap/ic_launcher_wallpaper"
android:finishOnCloseSystemDialogs="true"
android:process=":wallpaper_chooser">
<intent-filter>
- <action android:name="com.android.launcher3.action.CROP_AND_SET_WALLPAPER" />
+ <action android:name="android.service.wallpaper.CROP_AND_SET_WALLPAPER" />
<category android:name="android.intent.category.DEFAULT" />
+ <data android:mimeType="image/*" />
</intent-filter>
</activity>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index bd803c64e..e04902a16 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -45,6 +45,8 @@
<string name="gallery">Gallery</string>
<!-- Option in "Select wallpaper from" dialog box -->
<string name="pick_wallpaper">Wallpapers</string>
+ <!-- Title of activity for cropping wallpapers -->
+ <string name="crop_wallpaper">Crop wallpaper</string>
<!-- Displayed when user selects a shortcut for an app that was uninstalled [CHAR_LIMIT=none]-->
<string name="activity_not_found">App isn\'t installed.</string>
<!-- Labels for the tabs in the customize drawer -->
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 6eb044cda..618bb4705 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -18,13 +18,13 @@
-->
<resources>
- <style name="Theme.WallpaperPicker" parent="@android:style/Theme.Holo">
- <item name="android:actionBarStyle">@style/WallpaperPickerActionBar</item>
+ <style name="Theme.WallpaperCropper" parent="@android:style/Theme.Holo">
+ <item name="android:actionBarStyle">@style/WallpaperCropperActionBar</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowActionBarOverlay">true</item>
</style>
- <style name="WallpaperPickerActionBar" parent="android:style/Widget.Holo.ActionBar">
+ <style name="WallpaperCropperActionBar" parent="android:style/Widget.Holo.ActionBar">
<item name="android:displayOptions">showCustom</item>
<item name="android:background">#88000000</item>
</style>
diff --git a/src/com/android/launcher3/WallpaperCropActivity.java b/src/com/android/launcher3/WallpaperCropActivity.java
index dee9fe9ad..f5a6b80b3 100644
--- a/src/com/android/launcher3/WallpaperCropActivity.java
+++ b/src/com/android/launcher3/WallpaperCropActivity.java
@@ -22,6 +22,7 @@ import android.app.WallpaperManager;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
+import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
@@ -100,6 +101,10 @@ public class WallpaperCropActivity extends Activity {
});
}
+ public static String getSharedPreferencesKey() {
+ return WallpaperCropActivity.class.getName();
+ }
+
// As a ratio of screen height, the total distance we want the parallax effect to span
// horizontally
private static float wallpaperTravelToScreenWidthRatio(int width, int height) {
@@ -145,7 +150,7 @@ public class WallpaperCropActivity extends Activity {
// for the intended
// parallax effects
final int defaultWidth, defaultHeight;
- if (LauncherAppState.isScreenLarge(res)) {
+ if (isScreenLarge(res)) {
defaultWidth = (int) (maxDim * wallpaperTravelToScreenWidthRatio(maxDim, minDim));
defaultHeight = maxDim;
} else {
@@ -200,6 +205,11 @@ public class WallpaperCropActivity extends Activity {
cropTask.execute();
}
+ private static boolean isScreenLarge(Resources res) {
+ Configuration config = res.getConfiguration();
+ return config.smallestScreenWidthDp >= 720;
+ }
+
protected void cropImageAndSetWallpaper(Uri uri,
OnBitmapCroppedHandler onBitmapCroppedHandler, final boolean finishActivityWhenDone) {
// Get the crop
@@ -216,7 +226,7 @@ public class WallpaperCropActivity extends Activity {
int maxDim = Math.max(maxDims.x, maxDims.y);
final int minDim = Math.min(minDims.x, minDims.y);
int defaultWidth;
- if (LauncherAppState.isScreenLarge(getResources())) {
+ if (isScreenLarge(getResources())) {
defaultWidth = (int) (maxDim *
wallpaperTravelToScreenWidthRatio(maxDim, minDim));
} else {
@@ -564,7 +574,7 @@ public class WallpaperCropActivity extends Activity {
}
protected void updateWallpaperDimensions(int width, int height) {
- String spKey = LauncherAppState.getSharedPreferencesKey();
+ String spKey = getSharedPreferencesKey();
SharedPreferences sp = getSharedPreferences(spKey, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
if (width != 0 && height != 0) {
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index 3f63d743a..9f4fa8a50 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -30,6 +30,7 @@ import android.appwidget.AppWidgetProviderInfo;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
+import android.content.SharedPreferences;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.graphics.Bitmap;
@@ -977,8 +978,10 @@ public class Workspace extends SmoothPagedView
};
protected void setWallpaperDimension() {
+ String spKey = WallpaperCropActivity.getSharedPreferencesKey();
+ SharedPreferences sp = mLauncher.getSharedPreferences(spKey, Context.MODE_PRIVATE);
WallpaperPickerActivity.suggestWallpaperDimension(mLauncher.getResources(),
- mLauncher.getSharedPrefs(), mLauncher.getWindowManager(), mWallpaperManager);
+ sp, mLauncher.getWindowManager(), mWallpaperManager);
}