Commit Graph

90 Commits

Author SHA1 Message Date
Tony Wickham 86fb399309 Fade from wallpaper picker activity back to homescreen.
If a wallpaper preview is going to look exactly the same as the actual wallpaper
on the homescreen page that is being returned to, fading looks much nicer than
the default activity exit animation.

Bug: 23568800
Change-Id: Id7c2b5483c5535d59be2f8a459ce7788e3c8318a
2015-09-08 18:24:58 -07:00
Tony Wickham 8010486e8b Adjust the wallpaper preview parallax according to the crop that will be saved.
To get the crop, the wallpaper is first scaled down as much as possible (i.e.
until either the width or height matches that of the device screen), then a
center crop is performed (the excess width or height is chopped off). The
preview's parallax was previously incorrect if the width was the victim of this
cropping, because in that case the parallax started and ended at a different
point than in the actual wallpaper. This is fixed by adjusting the parallax of
the preview to match the final crop.

The end result is that all wallpaper previews match the actual wallpaper upon
setting, except for the default wallpaper because it follows a different flow.

Bug: 23568800
Change-Id: I82b7ba506d51ee4b3812af5fbdf95d3303b37aef
2015-09-04 12:42:57 -07:00
Tony Wickham 4dbaef0246 Change addParallaxOffset() to setParallaxOffset() in CropView.
This is less prone to error, because calling setParallaxOffset() multiple times
will always lead to the same result. Plus, this works regardless of whether
moveToLeft() was called first.

While the parallax offset ensures that previews of built-in wallpapers match
the actual wallpaper you get upon saving, it does not work in all cases.
Specifically, it does not work for a couple (1 or 2 on the devices I've tested)
of the larger built-in wallpapers. However, this seems to be due to a mismatch
between the size of the preview wallpaper and the actual wallpaper (the latter
is larger). This sounds like a separate bug.

Bug: 23568800
Change-Id: I69afa3f8cc59c77e9c4c25e29e8db8c4beb87462
2015-09-03 09:52:55 -07:00
Tony Wickham 785f7a59d3 Previews in the wallpaper picker are offset to match the homescreen parallax.
When "Wallpapers" is selected from the overlay, the current wallpaper parallax
offset is sent to the WallpaperPickerActivity as an Intent extra. The CropView
then uses that offset when previewing new wallpapers to ensure the preview looks
exactly the same as the actual wallpaper will when set.

Note that this fix doesn't seem to work for DefaultWallpaperInfo - that will
come in a future CL.

Bug: 23568800
Change-Id: I41c5bbbfdabfeb4e20d77e9b5804842a03211edf
2015-09-02 20:55:19 +00:00
Sunny Goyal 009a724ca2 Merge "Loading default wallpaper on the background thread" into ub-launcher3-master 2015-09-01 18:06:37 +00:00
Sunny Goyal fd169ab17b Loading default wallpaper on the background thread
Bug: 23353784
Change-Id: Ia64cfd6b8065fb3d589e32af12e0e0bf5242a43a
2015-09-01 10:59:47 -07:00
Sunny Goyal 77fcebe850 Fixing crash when picking an external image
Change-Id: I98654000e82fd7e96152785ceafe857724fc417f
2015-09-01 10:13:39 -07:00
Sunny Goyal f4d017999a Moving getWallpaperArrayResourceId to a separate functions, so that
it can be overriden by dependent projects

Change-Id: I565d85d9126e41cec3dd2cdb8f2c75283bce4b13
2015-08-31 13:39:25 -07:00
Sunny Goyal e4c28f8e13 Refactoring wallpaper picker activity
> Moving different tiles to individual classes
  > Moving some utility methods to corresponding tile classes
  > No functionality change

Change-Id: I493cf309f4e3d817a9300be004c475d208f8dadb
2015-08-31 12:36:54 -07:00
Tony Wickham 1ea392f0bc Fix typos caused by gerrit's inline editor.
Change-Id: Ie142f5c6b418ac775cc167787f8e372d5354b91a
2015-08-28 16:33:11 -07:00
Tony Wickham f970ee5cdc Reuse existing temporary wallpaper tiles when selecting same photo.
Previously, if you selected a photo to set as the wallpaper multiple times, it
kept adding temporary wallpaper tiles that were all identical. Now it reuses the
same tile, updating the thumbnail and wallpaper if the Uri happens to point to a
new image (such as if a photo is renamed).

Change-Id: Ib05c9db4e1fd17226b503174f25add3368158b11
2015-08-28 23:06:01 +00:00
Mady Mellor aca16cd0f7 Merge "Refactor StylusEventHelper to provide onButtonPress/Release methods" into ub-launcher3-master 2015-08-21 18:45:43 +00:00
Mady Mellor bb83520a62 Refactor StylusEventHelper to provide onButtonPress/Release methods
This will enable an easier migration to the new M APIs for identifying
button presses from stylus / other tools.

Bug: 20430722
Change-Id: I41cfa6eff8d76bb83cf1bdaf6623ec1092ed554c
2015-08-21 11:18:14 -07:00
Sunny Goyal 21bf531499 Removing multi_process access to shared preferences
Change-Id: If802245632c30d4f383013203fb2e0349ebc14fe
2015-08-21 11:08:24 -07:00
Sunny Goyal 25b6e5b01c Removing some unused code in GLCanvas
Change-Id: Icd421dd16c82275f0ac1a6881d1d86b9c1eaf1e8
2015-08-20 10:56:23 -07:00
Sunny Goyal 4b17147c28 Updating logic for setting wallpaper desired size
> Only setting desired size on wallpaper change for pre kitkat
  > Removing wallpaper change receiver from manifest
  > Removing multi-process wallpaper shared prefs for kitkat+

Bug: 23353784
Change-Id: Iba72d32871ee50b75807e2284a73a691bcddc472
2015-08-19 12:59:29 -07:00
Sunny Goyal 2563b3b956 Updating the ExifParsing code
> Using system implementation of ExifInterface to read orientation
  > For inputstream, creating a temporary file with just the header
    since the system API only supports file input

Change-Id: I19c94ff28e9d9bac14cd9b717de0ff165ba95595
2015-08-18 18:30:10 -07:00
Sunny Goyal c268148f06 resolved conflicts for merge of 9fc953b9 to ub-launcher3-master
Change-Id: Ia3e845a2e336c846cceefdc2d1e8c6786753f1b1
2015-08-17 14:43:41 -07:00
Sunny Goyal 9fc953b94d Version code cleanup
> Renaming Lmp to Lollipop
  > Lollipop_MR1 instead of directly using 22
  > Using M APIs directly instead of reflection

Change-Id: I10a307f46e3be15b3299f549a2fd7e0e215a6a1b
2015-08-17 13:26:01 -07:00
Sunny Goyal 42e28092b3 Removing some eclipse warnings
Change-Id: I160feaee81b262be02446885fae643c0be71b7af
2015-08-17 12:56:19 -07:00
Sunny Goyal 79a640ec35 Ensure that crop view is loaded before applying a wallpaper
Bug: 22293299
Change-Id: I64d5268cc263bbb6595a0b28bdd5ec73d540da41
2015-08-12 15:28:33 -07:00
Sunny Goyal b33e09a93c Preventing user from selecting any new time, when a tile is already being applied
Bug: 22293299
Change-Id: I6b9bf2b777d33ca23f291c7872ce1f338d41e516
2015-08-10 11:54:14 -07:00
Adam Cohen 209a859ded Fix issue where scroll container shadow didn't fade out
Change-Id: I3b0104dea04009819db0375c381b8ff445b76baa
2015-08-03 19:06:50 -07:00
Sunny Goyal 320a27b539 Removing junit.framework.Assert from wallpaper picker code
Bug: 22124692
Change-Id: Ifd41727a2ce4af660818b4f0cd6b95110ffdeec4
2015-06-26 14:10:44 -07:00
Adam Cohen b15d43837c Avoid crashing if we don't have the READ_EXTERNAL_STORAGE permission
issue 22019397

Change-Id: I7d556494569afaeac0ecdd641a089b78663b5563
2015-06-23 17:50:27 -07:00
Rahul Chaturvedi e863fed140 Read rotation setting correctly from the wallpaper picker.
If reading the rotation setting without the multi-process flag, the
WallpaperPickerActivity usually picks up a cached value. Specifying the
multi-process flag during the read fixes this and the wallpaper picker
always has the correct rotation setting.

Change-Id: Ic3639f8cd694674e92c8940b753c6bc30486076d
2015-06-15 14:09:42 -04:00
Mady Mellor 19b1bad239 Merge "Stylus support: creating and setting listeners for stylus button press" into ub-launcher3-burnaby 2015-06-03 16:26:35 +00:00
Mady Mellor ef044dd380 Stylus support: creating and setting listeners for stylus button press
This updates almost(*) all locations that use a long press listener to
also set a custom touch listener that recognizes the stylus button press
action.

The stylus button press action is: when a stylus touches a view while the
primary stylus button is pressed which may occur on a DOWN or MOVE event.

*The location this is *not* enabled for is: Longpress to enter "overview"
mode -- this isn't really a selection or drag n drop action; it is also
easy to accidentally do this while using the stylus gesture to drag n drop
items which is not an ideal interaction. Also not set for the "cling" that
demonstrates this.

Bug: 20430722
Change-Id: I9343f143261a7b4fada9afca28b8a11a60dbecca
2015-06-02 15:35:07 -07:00
Rahul Chaturvedi 7fc77cad3d Add the Allow Rotation setting to Launcher3.
This CL adds a Settings activity along with the code needed to provide
a "Allow Rotation" setting to all phones and tablets. This setting is
set to false for phones and true for tablets. On changing the setting
from unlocked to locked, the launcher (and the Settings activity)
will get locked to the orientation the user was in when he disabled
"Allow Rotation". This is consistent with how the natural rotation
feature of Android works.

Change-Id: I8a1c59d1fa0bb9262530cad96e0a9bdbab0d9344
2015-06-01 16:50:50 -04:00
Sunny Goyal 8abbd29ca3 Enabling setWallpaper button only if the image was loaded successfully
Bug: 20187333
Change-Id: I1b738a06499d20facbc4bccb1e6247086a45b686
2015-05-21 16:14:08 -07:00
Sunny Goyal e49c105de5 Verify that an image can be rendered on a GL Surface before using it
Bug: 20138883
Change-Id: I8de70eb971f31c2a4c07a7903e097a1586402282
2015-05-18 16:42:22 -07:00
Sunny Goyal 7066003b20 Various lint error fixes.
> Fixing some RTL errors by specifying both marginStart and marginLeft
> Moving all layout direction checks to Utilities
> Explicitely adding @TargetApi before every method

Change-Id: Ibe9c52b93b5a6adeadb27ace2b312770fd732ea0
2015-05-14 12:28:07 -07:00
Sunny Goyal bbc140b545 Merge "Revert "Revert "Disable setWallpaper button until the wallpaper is loaded" Will submit again after the drop" Actual fix" into ub-launcher3-burnaby 2015-04-15 23:53:43 +00:00
Sunny Goyal 89a6ec2af2 Revert "Revert "Disable setWallpaper button until the wallpaper is loaded" Will submit again after the drop"
Actual fix

This reverts commit b4b01efa43.

Change-Id: I65cc75e0f1a95f69be607bb5b11d7f4627ff25c1
2015-04-15 23:40:57 +00:00
Sunny Goyal b3c5fac5dc Merge "Revert "Disable setWallpaper button until the wallpaper is loaded" Will submit again after the drop" into ub-launcher3-burnaby 2015-04-15 23:39:51 +00:00
Sunny Goyal b4b01efa43 Revert "Disable setWallpaper button until the wallpaper is loaded"
Will submit again after the drop

This reverts commit 65776c4359.

Change-Id: I5f85d0c70f3f5faf85d9ba16e82d4714b694a193
2015-04-15 23:38:17 +00:00
Sunny Goyal 8fbb771537 Merge "Disable setWallpaper button until the wallpaper is loaded" into ub-launcher3-burnaby 2015-04-15 22:26:32 +00:00
Sunny Goyal 65776c4359 Disable setWallpaper button until the wallpaper is loaded
Bug: 20187333
Change-Id: Id7a42616560e15eddedad5846ef927a3be52ed1c
2015-04-15 14:17:46 -07:00
Neil Fuller ba41458f5c Remove usage of FloatMath
Bug: https://code.google.com/p/android/issues/detail?id=36199
Change-Id: I2effc3f498fb13e66de9a905b9a40ac5688a5850
2015-04-15 09:10:18 +01:00
Sunny Goyal 7f06ae5c8b Removing Pools.java as it is present in support lib
Change-Id: I0f1346223aa289889dbefedd47bff093e9c2c05d
2015-04-08 11:08:27 -07:00
Sunny Goyal 1d0b093a6e Adding BaseActivity which can be overriden for custom behavior
Change-Id: I6707aa99f5d33dceede226a6367e24482f5157f6
2015-03-21 11:11:03 -07:00
Sunny Goyal 6a1e95a3df Removing all dependencies of launcher code on wallpaper-picker
> WallpaperPicker can still depend on launcher code, but not the
other way round.

Change-Id: I93a07f985c3955c638a68a5fad9c09b184a879b9
2015-03-20 18:16:58 -07:00
Adam Cohen 091440a9cb Reducing method count by eliminating synthetic accessors
Elimates 304 methods based on dex analysis

The java compiler generates sythetic accessor methods for all private
fields, methods and contructors accessed from inner classes. By marking them
package-private and @Thunk instead, sythentic accessor methods are no
longer needeed. These annotated elements should be treated as private.

Change-Id: Id0dc2c92733474250d8ff12fa793d3a8adeb1f26
2015-03-20 11:15:54 -07:00
Sunny Goyal 9c83a0da6d Cleaning up some resources in WallpaperPickerActivity
Change-Id: I4923403c0c094d0ae0b00e3a08a13099c3addb10
2015-02-26 19:33:38 +00:00
Sunny Goyal 9f9d0a59c4 Picking a bitmap to reuse where least pixels are wasted
Change-Id: I4217bc68a5caa2d1526e4ebb101dbaf0348066d3
2015-02-25 11:53:26 -08:00
Sunny Goyal 65b929d6f2 Reducing memory usage of wallpaper picker
> Loading preview bitmap only once, instead of loading it twice at BitmapRegionTileSource and BitmapSource
> Maintaing a weak-set of reusable bitmaps and reusing them for decoding bitmaps
> Loading images on a HandlerThread (instead of AsyncTask) and removing any non-started task before submitting a new task
> Loading inbuild images (from resources) on HandlerThread instead of UIThread
> Freeing up unbound GL textures before binding a new texture.

Bug: 18382606
Change-Id: Ic4ca630dd113ded65d2853eb0d291c9e5823637e
(cherry picked from commit 283c2261bd)
2015-02-24 23:18:25 +00:00
Sunny Goyal f3e4f548fd Merge "Moving some files and methods around" into ub-launcher3-master 2015-02-20 01:54:31 +00:00
Sunny Goyal 9026271410 Merge "Fixing logic to determine if wallpaper change." into ub-launcher3-master 2015-02-20 01:50:47 +00:00
Sunny Goyal 35746d6029 Merge "Removing unused BlockingGLTextureView" into ub-launcher3-master 2015-02-12 22:26:48 +00:00
Sunny Goyal 06a4d3f1af Moving some files and methods around
> Removing android.util package
> Moving static methods and classes out of WallpaperCropActivity
> Removing some unused utility methods

Change-Id: I252a0655ddce195189b6b3f0bf92970e5808c9d7
2015-02-12 12:25:56 -08:00