Commit Graph

30 Commits

Author SHA1 Message Date
Jon Miranda 89137e7bb8 Add support for adding promise icons for new install sessions by user.
- Added flag PROMISE_APPS_NEW_INSTALLS
- Promise icons only added if flag (above) is on, as well as the setting
  for "Add icon to Home screen"
- Maintains a list of session ids of promise icons that have been added to the
  home screen, so that if the user manually removes the icon, we do not add
  it back to the home screen when the install is completed.
- Queues all applications as promise icons, and replaces with actual
  app info when its being added to the workspace.

Bug: 135633159
Change-Id: Idf2fc9033f890afef924628b76b89ad4692f529c
Merged-In: I411db59f9bd1b346d98b9bb73f5376a5983b8de5
2019-08-22 10:42:45 -07:00
Jon Miranda 0121d466ec Fix launcher crash when trying to open work profile promise icon.
Bug: 138609751
Change-Id: Ifb1c4628ce6307a19a2bb696e4771d5cd5810a90
2019-08-05 14:36:04 -07:00
Jon Miranda c2e54bc210 Use LauncherApps#getAllPackageInstallerSessions to get all sessions.
This new API allows us to get the package installer sessions for the main
user as well as the managed profile, which will allow us to restore
work profile items on the workspace.

Bug: 131315856
Change-Id: Id76e815a76d1c715bc160776fd87d75bba92ff93
2019-05-13 10:52:26 -07:00
Sunny Goyal f840f10d50 Removing additional rpc due to icon cache update
When launcher loads, it fetches the list of apps twice, once for
loading all-apps and again for updating icons. Instead reusing
the previously fetched apps list.
Also moving the icon loading in a separate package for further
generalization

Change-Id: Ibd2dae56e6027a31b633da030bc6b43a90b27e1b
2018-09-21 15:27:03 -07:00
Jon Miranda 5ab0d896c6 Send directed broadcast to package installers that have active sessions.
For each installer, we send a broadcast that includes package names of items that:
* Are being installed by that installer
* Are on the first screen
* Have an active install session

The packages are seperated by:
* Folder items
* Workspace items
* Hotseat items
* Widgets

Bug: 74355094
Change-Id: I573ed6b3b84314ef244486fcf8354bebdff8bbdf
2018-03-27 12:32:49 -07:00
Mario Bertschler 6d696f8d7c Fixes a bug in verifying the validity of a session info.
b/38276210

Change-Id: I4c89fb60b21d4dbc70efb91111ac16ec16bdea4f
2017-05-15 10:16:12 -07:00
Mario Bertschler bf2d46efad Enable Promise App Icon in All Apps.
- feature flag defaults to true
- avoid adding additional workspace shortcut if promise shortcut already
  exists
- handle promise app removal in package added callback for success case

Change-Id: I694701e35cc94481a9c337df3a17b1e5aa2c3b4c
2017-03-21 16:44:38 -07:00
Mario Bertschler 817afa3447 Show promise app icon in All Apps while installation process.
This CL only modifies the model and is behind a feature flag
which per default is set to false.
The app icon will appear as a promise icon, it reacts on icon
or label changes and the icon will be remove on finishing the
installation process. With this CL the progress of the installation
process is not visible.

Bug: 23952570

Change-Id: I510825d0b0b1b01eb14f7e50f0a2358b0d8b99b5
2017-03-17 09:21:35 -07:00
Sunny Goyal 87f784c285 Removing static Context access using LauncherAppState
> This ensures that LauncherAppState is only accessed in the presence of
a valid context

Bug: 33032833
Change-Id: I955e5cb022f8bd6374681ae6c0720a2666d5b750
2017-01-11 12:52:03 -08:00
Sunny Goyal a52ecb0390 Removing all compatibility code below Lollipop
Bug: 32745285
Change-Id: I62971908e3e4402941fab627bbdfd47be64473a3
2016-12-16 15:05:09 -08:00
Sunny Goyal 7c74e4ae64 No more UserHandleCompat
Bug: 32745285
Change-Id: I762fb4e268c1afe48a1860ab12a4ccb3f626aa95
2016-12-15 22:06:10 -08:00
Hyunyoung Song 0de011705b Code sanitization
- Removed bad method/class name typos

Change-Id: Ie6900e9e3d9ce9b550d2a2442a5dac3f7050a573
2016-10-06 10:57:29 -07:00
Sunny Goyal 7bce5f7988 Tying LauncherAppState lifecycle with LauncherProvider
The content provider is the first component started with the main process,
which makes it ideal for initiating LauncherAppState

Change-Id: I03db82a8949ad1376af53a0033592f421dbf0b15
2015-11-24 12:06:42 -08:00
Sunny Goyal ec88204389 Update the widget spans after the provider changes
Bug: 24003213
Change-Id: I51ad5919a808ef10385d62a48a94589eefcb06bc
2015-10-05 13:23:52 -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 756adbc3e4 Fixing missing updates in package install sessions
> Ensure icon cache never returns null icon
> Enabling install shortuct receiver only after workspace has finished binding
> Making all the model changes for package installs on worker thread and only
posting the updaes on the UI
> Making shortcut exists check on the loaded items and not on the DB
> Explicitely using worker thread for PckageInstallListener
> Removing backward compatibility support from PackageInstallerCompat

Change-Id: I9592771b9670c1c1c84c8208cae8dafa7b393e65
2015-04-22 10:08:14 -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 d90e938db0 Moving methods which update internal sets on a separate thread
Bug: 18152117
Change-Id: I5fccd203b5fe65e79dcc5aead6cb1cb6c3b622fe
2014-10-30 10:32:20 -07:00
Sunny Goyal acefecbff3 Merge "Updating promise icon's bitmap and label when onBadgingChanged is received" into ub-now-porkchop 2014-09-19 19:58:07 +00:00
Sunny Goyal 9448536b11 Adding support to delete unrestored icons and widgets
Bug: 17584719
Change-Id: If8e76fc80ea885c9004c50b7b6a9353525a50105
2014-09-19 12:19:07 -07:00
Sunny Goyal a22666f681 Updating promise icon's bitmap and label when onBadgingChanged is received
Bug: 17583799
Change-Id: I68b4f9d4086c43bd949ad8b46b574ec78edb32db
2014-09-19 12:16:52 -07:00
Sunny Goyal 136882c195 Merge "Setting context in LauncherAppState before initialising it, as it can be called from a BroadcastReceiver" into ub-now-porkchop 2014-09-17 20:07:10 +00:00
Sunny Goyal 5610fe72e0 Setting context in LauncherAppState before initialising it,
as it can be called from a BroadcastReceiver

Bug: 17519159
Change-Id: I0434a3d1c392e8861eb759d88942deaf98116c19
2014-09-16 09:42:49 -07:00
Dharmesh Mokani 3d0854e4b8 Remove STOPSHIPs from GSA 4.0
Added stopships so that GSA won't crash on older L release.

Bug: 17443440
Change-Id: I792eb53d5021118bdb09c44ffae7a8286a0cd69b
2014-09-12 10:22:51 -07:00
Dharmesh Mokani 393afd3456 Dogfood Crash Loop : Fixing crash loop by try and catch
Bug: 17467377
Change-Id: Idb2084339323b4953cbd6bbde2735f814fb75a76
2014-09-11 09:49:40 -07:00
Dharmesh Mokani f9847b9bd3 Launcher change corresponding to platform change.
Here is platform change : ag/540450

Added try catch block so the APK works on older builds as well.

Bug: 17390424
Change-Id: Id5731c65f036e35b71aa74ce6d8ae031107ed60b
2014-09-08 09:39:51 -07:00
Sunny Goyal 349426234e Handling label and icon from SessionInfo.
> The ShortcutInfo stores state as bit flags and not as ints
> Intents of auto-install shortcut are automatically updated
upon installation
> Icons/titles for active sessions are cached in IconCache

Change-Id: I2047849f67d4a8aaf2bc346b58110325bb4807d4
2014-09-04 08:18:33 -07:00
Sunny Goyal 800a4f217a Fixing class name change in sdk
Change-Id: Id905f8742d39347cd66e5e79931e1dccdd406126
2014-08-18 14:11:28 -07:00
Sameer Padala 65c6011d09 Update code so it compiles on google3
Change-Id: I76c6a5264585c8ad4ded22501d2e2ee1672308c3
2014-08-08 17:34:57 -07:00
Sunny Goyal e755d469d4 Implementing a package install progress listener for L
issue: 15835307

Change-Id: I71aaea087963f2e0e1206447190cbe23c174057d
2014-08-01 14:45:39 -07:00