Commit Graph

54 Commits

Author SHA1 Message Date
Sunny Goyal
8ac727b2c6 Using custom threadpool executor instead of the one defined in AsyncTask
Change-Id: I8fe95d932c5de14c74f0576bfc3d1f641d12b448
2015-09-23 15:39:14 -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
Adam Cohen
d98fff3055 Merge "Adding custom slide up activity transition for L MR1" into ub-launcher3-burnaby 2015-07-08 01:59:57 +00:00
Adam Cohen
947e02b638 Adding custom slide up activity transition for L MR1
issue 21402755

Change-Id: Id2542c0a3c38bd71aa407a3b0fe00fdee24e2f69
2015-07-07 18:52:09 -07:00
Sunny Goyal
1dd0f8bf51 Using cellX and cellY for comparing position when rank is not available
Bug: 22059402
Change-Id: I69ec2b9b68610e171e76cd968de77aaed669672c
2015-07-06 13:04:32 -07:00
Sunny Goyal
11d4911732 Removing junit.framework.Assert
Bug: 22124692
Change-Id: Ie9c920ec6ef9631392a70b9ab2a5659ba23385b3
2015-06-26 21:04:55 +00:00
Sunny Goyal
4e5cc64eaf Fixing backup restore
> Not deleting icons from cache, which have not been restored yet
> Not checking if activity exists during DB migration. Missing
components are removed during loader anyway
> Backing up and restoring bitmaps even when iconType is resource.
This allows us to show a proper bitmap icon, until the correct
resource is available.
> Loading proper shortcutResource icon for promiseIcons
> Checking against promise intent when verifying duplicates
> A launcher App intent can contain EXTRA_PROFILE

Bug: 22094970
Change-Id: I982971338846733833ec133119393af0bea0eb08
2015-06-25 17:41:06 -07:00
Winson Chung
b1777447d9 Refactoring fast scroller.
- Fixing issue with fast scroller not fitting name width.
- Refactoring fast scrolling/scroll bar code out of base recycler view
- Adding animations to fast scroller to match design
- Smooth scrolling when jumping between app rows
- Fixing issue with fast scroller jumping when you first pick it up
- Fixing issue with wrong background paddings being used

Bug: 21874346
Bug: 22031923
Change-Id: I9f011b1f375751f437604b900e95a2942d3f4601
2015-06-23 14:24:15 -07:00
Sunny Goyal
27f03251ea Merge "Deleting empty folders based on DB state" into ub-launcher3-burnaby 2015-06-18 03:06:30 +00: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
Sunny Goyal
b1622cc30f Deleting empty folders based on DB state
> Previously folders were getting deleted based on in-memory
loader state. If for some reason, an item failed to load, we would
delete the folder from DB as well.

Bug: 21354058
Change-Id: I5318ee8a99afa9cafd93ed2b9ef0e155f502a41b
2015-06-12 12:38:16 -07:00
Sunny Goyal
7779d62308 Using content provider to update launcher settings
> Removing cross process preference file
> Removed broadcast listener management for settings changes
> Defining content provider method to get/set laucnehr preferences

Change-Id: Ida36eac0ab17c1d48fedc9404817a53a89b36c4f
2015-06-12 11:16:20 -07:00
Winson Chung
6103501fa6 Merge "Ensuring that we use the screen width more optimally in AllApps." into ub-launcher3-burnaby 2015-06-05 18:09:35 +00:00
Winson Chung
2c6e5ccbcd Ensuring that we use the screen width more optimally in AllApps.
- Fixing issue with prediction bar height being calculated incorrectly
- Fixing issue where the prediction bar divider was not drawn exactly
  between the bar and the first row of apps
- Removing padding to allow scrollbars to reach full height

Bug: 20222023
Bug: 21335377
Change-Id: I2c0614a36e2294d0d6184a6bff4847876ffe971e
2015-06-05 09:49:12 -07:00
Rahul Chaturvedi
799aa04f2f Use a broadcast receiver instead of a settings observer.
Settings observer doesn't work if a setting is modified in another
process, hence we instead register a receiver which listens for a signal
from the settings process that the rotation preference has changed.

Change-Id: I570e3c67bb64a32347e84ca00a8ac31d9010eac3
2015-06-04 19:17:23 -04:00
Sunny Goyal
53d7ee4285 Fixing different bitmap sizes in different orientations
> Using a single bitmap icon size
> Picking up appropriate density for satisfy the required icon size
> Fixing some icon size assumptions during icon animations

Bug: 19514688
Change-Id: Ia7a1d0d2c03a9d39ccc241fa4ae3eb8a0f374585
2015-06-03 19:07:44 -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
Adam Cohen
1558893b87 Make sure all transition components run on the same thread
-> The framework circular reveal transition runs on the render
   thread which can cause problems when mixed in an AnimatorSet
   with transitions that don't run on the render thread
-> See issue 17556455

issue 21445293

Change-Id: Ie19c184c55060651e817d426ec83049b06af56ba
2015-05-27 13:55:09 -07:00
Adam Cohen
2e6da1539b Refactoring DeviceProfile
-> Pulling out the parts of device profile which can (and need to be)
   initialized and accessed without access to an Activity context,
   ie. the invariant bits.
-> The invariant bits are stored in InvariantDeviceProfile which is
   initialized statically from LauncherAppState.
-> The DeviceProfile contains the Activity context-dependent bits,
   and we will create one of these for each Activity instance, and
   this instance is accessed through the Launcher activity.
-> It's possible that we can continue to refactor this such that
   all appropriate dimensions can be computed without an Activity
   context (by only specifying orientation). This would be an
   extension of this CL and allow us to know exactly how launcher
   will look in both orientations from any context.

Sets the stage for some improvements around b/19514688

Change-Id: Ia7daccf14d8ca2b9cb340b8780b684769e9f1892
2015-05-21 16:16:40 -07:00
Sunny Goyal
5c97f51fd9 Icons are not updated to TYPE_APPLICATION during restore
> Use low res only for app shortcuts
> Running icon migration after restore
> Running icon migration again for all users
> Deduping shortcuts added from widget tray

Bug: 20945600
Change-Id: I3bb47545fdd9832510069026fbae8966d2311cc1
2015-05-21 13:34:07 -07:00
Hyunyoung Song
2bd3d7d1cb Load PackageItemInfo in background thread to prevent ANR
- Decoupled widget model from widget view, and placed the
creation to LauncherModel.
- As a result packagemanager operation, iconcache retrieval is all done inside
LauncherModel on background thread
b/21311085
b/21325319

Change-Id: I294698527db58b89f3da558090a367530c058776
2015-05-21 13:04:53 -07:00
Winson Chung
afa77e947d Don't try and trim null strings.
Bug: 21161481
2015-05-15 19:07:51 +00: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
Winson Chung
82b016cb56 Trim all whitespace from titles and labels.
Bug: 20953160

Change-Id: I1610df5e445a4139522226f68fa6439926bc70c6
2015-05-08 22:22:39 -07:00
Sunny Goyal
f7a29e83f0 Removing some unused method params from CellLayout
> Replacing various distance calculations with Math.hypot
> Moving findVacantCell to Utilities

Change-Id: I0cb194b603e52b3bb2b29a095bb4da2bb408ab13
2015-04-24 15:28:20 -07:00
Sunny Goyal
5b0e669169 Rewrite: Widget preview loader logic
> Widget previews are saved in data dir instead of cache dir
> Expiring widget previews similar to IconCache
> Removed support for setting thread priorities

Bug: 19865031
Change-Id: Ib6033c2b1ff8ae61bba8762ca994ccd8217d3c75
2015-03-20 17:31:11 -07:00
Sunny Goyal
4fbc3828c5 Updating IconCache to maintain a persistent of icons
> IconDB maintains a DB of icons keyed on ComponentName + User
> During loader, icons & labels are loaded first from the DB, and
if the entry doesn't exist, loaded using packageManager
> After the loader completes, IconDB updates any entry which might have
changed, while the launcher was dead.

Change-Id: I7a6021cb6d1ca1e66fa5a0bdd21e1543e0cf66fc
2015-02-26 19:08:44 +00:00
Sunny Goyal
08f7261d11 Adding a rank column for itemInfo
> Rank is used to determine position of an item
in a folder.

Bug: 18590192
Change-Id: I2826a7c570b4cc58e719d685f17a24ec6133804f
2015-01-13 22:19:56 +00:00
Brian Parfett
1bc1ae6714 Updating version codes from L to LOLLIPOP
This is required so Launcher3 can compile within IntelliJ.

Change-Id: I99a98a6d2326a8f8b0f0320430de9b555ea430c6
Bugs: b/18720914
2014-12-12 12:30:00 -08:00
Sunny Goyal
b155bbb375 Merge "Using the default search widget in Launcher3" into ub-now-queens 2014-11-12 18:00:23 +00:00
Sunny Goyal
4bbf419bf9 Removing some duplicate methods
Change-Id: I8a1295ab74890984e8d8508aaa18fd79ac2a032d
2014-11-11 12:24:13 -08:00
Sunny Goyal
594d76dc66 Using the default search widget in Launcher3
> Removing all logic related to search and voice overlays
from Launcher3
> Using the widget provided by global search provider on the
homescreen
> Removing VoiceButtonProxy, as it is not being used anymore

Change-Id: Ie8b09b44f7213c8fa11bce685914442e4884295d
2014-11-11 10:17:56 -08:00
Sunny Goyal
fafca5299e Using a proxy call for isAttachedToWindow for pre 19 devices
Bug: 17423114
Change-Id: I6f0cc306b7fcc8087b4e4fc92bb8796d51a989d6
2014-11-05 15:20:20 -08:00
Sunny Goyal
b50cc8c5d6 Updating icons for sortcuts when the target app updates.
Bug: 17398260
Change-Id: I055abb971d1f72245e8616ac2ce07bcdf37cdd52
2014-10-07 14:56:58 -07:00
Sunny Goyal
2fce90c38a Cleaning up icon resizing code
> For resizing icons, scaling them down instead of cropping them
> Removing duplicate methods and variables

Bug: 17663119
Change-Id: I0f270860c0edaaa939495e63e05da841a603f6e9
2014-10-07 12:04:39 -07:00
Kenny Guy
d794a3f465 Update calls now we have an L API version.
Bug: 17543647
Change-Id: I92c652a4ced5a5e783b24e42f9da4d9dfe1118ba
2014-09-18 13:07:49 +01:00
Sunny Goyal
ffe83f1331 Adding support for managed profiles in widget
issue: 16892811

Change-Id: If8c81f2a5a3bc846b02a5d225c5a8f27b1382dab
2014-08-20 17:09:18 -07:00
Adam Cohen
63f1ec00fb Further refinement of all apps / widgets transition
Change-Id: Id107a9aff74f014c07f8cbea6e74951a02dbddab
2014-08-13 21:39:48 +00:00
Sunny Goyal
0fe505bf82 Autoinstalls loading xml
> Launcher checkes for an apk in the system image with a broadcast
receiver for action:
com.android.launcher3.action.LAUNCHER_CUSTOMIZATION
> Default layout is parsed from that apk, which can also contain
icons and string resources used in the layout config

Change-Id: I44fc9e7c3134f525f7b5db29f4e8bb56e17ce445
2014-08-12 14:13:18 -07:00
Sunny Goyal
95abbb330c Updating the virtual preloader UX.
> No click feedback when in preloader mode
> No preloader UI when drawn in drag layer
> The preloader consists of a background 9 patch image and a circular progress
is drawn in the content region of the background.
> The preloader is drawn in a slightly larget area than the actual bounds to
make the circular progress more prominent compared to the icon.

issue: 15835307
Change-Id: Ifec3d93ecf1fac994d1128b517da3797247e7ed6
2014-08-11 12:32:04 -07:00
Sunny Goyal
c5c60ad359 Merging Motorola's patch to disable apps when is safe mode.
issue: 16044192

Change-Id: I10069dcdf459ecc71361271e883eabb743d77822
2014-07-18 16:10:34 -07:00
Sandeep Siddhartha
2efc7d928a Use transparent system bars on L
Change-Id: I1e8921fa0e8a5bdf34495f9d88ba9f3b1f1e9c89
2014-05-16 17:48:16 -07:00
Jason Monk
02dd7aea3d Fix long press after already moving off icon
When an icon is in the Hotseat and a user drags off from the icon,
but continues holding down, the icon gets a long press triggered
by the CheckLongPressHelper.

To fix this a check has been added on move events to see if the
point has moved outside the view and to cancel the long press
check callback if it has.

Bug: 13569451
Change-Id: Id175cdc220d70b5e9f8e492ed5a3cc7c3f11db10
2014-04-22 10:27:01 -04:00
Michael Jurka
7ad868b86e Create separate project for Wallpaper Picker
Change-Id: Id9e855780b9fb68c63eb6e9f6c19bcbce28a6fd5
2013-12-13 12:50:32 +01:00
Mathew Inwood
72fbec17e0 Add support for initiating a drag from an overlay.
This allows an overlay to create apps and shortcuts on the home screen.

Change-Id: I63ee4ef02db3f4bc89726c394fd55ad26f50452c
2013-11-20 11:45:53 +00:00
Winson Chung
540004905a Ensuring that we are calling setCompoundDrawable() instead of using intrinsic bounds. (Bug 11203738)
Change-Id: Ic2100e4008d7fc95d2670aab9d3b46a96a927599
2013-10-14 16:30:38 -07:00
Winson Chung
0dbd734384 Workaround for small icons. Draw icon drawables at the expected icon size. (Bug 11203738)
Change-Id: If976ae8b3603e8bf42e8e857ce0b178d977b0a43
2013-10-13 22:46:20 -07:00
Winson Chung
3a6e7f330e Initial changes for new clings. (Bug 11142616)
Change-Id: Id66ebceb99449941921d9e617dfe0cc05a2e3b65
2013-10-09 17:53:32 -07:00
Adam Cohen
61f560d92a Fixing AllApps pressed state (issue 10845969)
-> Adding haptic feedback to overview mode buttons (issue 10917359)

Change-Id: Iaf7ac31521ae08f4223aa0d0ffc2f6511b85567f
2013-09-30 16:21:00 -07:00
Michael Jurka
26acafbe67 Fix crash when setting wallpaper
Also clean up some unused code

Change-Id: Ibef8d3d594cc859a993640fd6ee578e9eeb633d1
2013-09-05 21:52:14 +02:00