Commit Graph

256 Commits

Author SHA1 Message Date
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
Sunny Goyal 4f3e9383eb Code cleanup
> Removing obsolete logging
> Removing unused methods
> Removing resource leak warning due to non-static handler class in launcher

Change-Id: Ic38cc8aea82899b0b5ee3235f04e5964e49245fb
2015-06-05 00:34:06 -07:00
Sunny Goyal 316490e636 Removing some synthetic method creation
> Make package-private and @Thunk all private methods and constructors accessed from inner classes.

Change-Id: Ie5913860a0c33e48e9bf68f9b5b1699f64c2f174
2015-06-02 10:04:59 -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
Sunny Goyal e2fba6cba1 Prevent work folder creation when launcher is upgraded.
Change-Id: If7a91e0852dae1bf5dcf21e89c1771b5f37629f3
2015-05-12 10:40:43 -07:00
Sunny Goyal 18b640c371 Removing LauncherProvider dependency from LauncherSettings
> This ensures that the classLoader does not need to load
LauncherProvider to access LauncherSettings
> Making a few fields public.

Change-Id: I2e8ee6e169552739f09e500d3b6acbcee7cd0718
2015-04-17 09:30:32 -07:00
Sunny Goyal 0b03778966 Deduping shortcuts to app-shortcuts if they have a valid intent
> Only deduping shortcuts for the primary user as custom shortcuts
for secondary users is not supported.

Change-Id: If129dee64a395602006ebb996d4b09b93b89084f
2015-04-10 19:01:32 -07:00
Sunny Goyal 35ca873bd9 Adding nullcheck when getting app restrictions
Bug: 20085185
Change-Id: I782a79a331a2d58287e34e24ed7730207bf260cb
2015-04-06 10:46:01 -07:00
Sunny Goyal 1d4a2df091 Removing ContentObserver from LauncherModel, and calling reload
whereever necessary

Change-Id: Ia4a8abdfe2be9703f3217a60527d3a1220b33bdc
2015-04-01 10:20:18 -07:00
Sunny Goyal b2d46ceaaa Configuration of workspace through app restrictions
> Checking for a grid specific layout before loading the default layout

Change-Id: I1e8d4176341e61d0876b0a9bea9ad8010e3a0f6a
2015-03-27 13:00:44 -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 5d85c44fd8 Adding sort switch in FolderPagedView
> Adding options column in DB to store generation purpose flags
> Storing isSorted flag in FolderInfo
> Adding a switch for A-Z sorting (only visible if pageCount > 1)
> When in sorted mode, spring-load snaps to the target location for 1.5 seconds

Change-Id: I8c7c778d2cc3ccbd35a2890a1a705e1c1a7e9a66
2015-03-17 14:49:38 -07:00
Sunny Goyal d5bf4ab5f7 Merge "Refactoring max id logic to a common method" into ub-launcher3-burnaby 2015-03-09 17:08:20 +00:00
Sunny Goyal 323f47f8bf am c6c8fef3: Clearing DB if necessary, when applying the default layout
* commit 'c6c8fef3e90f84b26c3b8550ec6a1d668ca9200d':
  Clearing DB if necessary, when applying the default layout
2015-03-05 04:32:48 +00:00
Sunny Goyal c6c8fef3e9 Clearing DB if necessary, when applying the default layout
Bug: 19574498
Change-Id: I34850d9a7f7316bcc2cb9fc8a5be57d2488c16a6
2015-03-04 15:20:24 -08:00
Sunny Goyal fe4e4b91dc Refactoring max id logic to a common method
Change-Id: I1f649b570ee43d6c0540a207693d2cbee4538fb8
2015-03-04 10:43:45 -08:00
Sunny Goyal 8dbf0fff1f Merge "Setting workspace id as primary key" into ub-launcher3-burnaby 2015-03-02 23:28:06 +00:00
Sunny Goyal f30e99b2dc am e72f3d53: Fixing wronk rowID check.
* commit 'e72f3d53f8c35b94aece6fafa6fd12cce9d09fe5':
  Fixing wronk rowID check.
2015-03-02 22:43:52 +00:00
Sunny Goyal e72f3d53f8 Fixing wronk rowID check.
Since screenId is changed to primary key, the rowId can now be 0 (earlier
it was auto-increment and never 0)

Bug: 19566734
Change-Id: Icf0e4294a581039101df1ad1756fdb6e581c4cba
2015-03-02 14:26:31 -08:00
Sunny Goyal d2f3819c34 Setting workspace id as primary key
Bug: 19475231
Change-Id: I0385e97868db73dafe148ce45af7dda4555ee593
2015-02-27 14:05:26 -08:00
Sunny Goyal 633325c4c2 DO NOT MERGE: Setting workspace id as primary key
Bug: 19475231
Change-Id: I0385e97868db73dafe148ce45af7dda4555ee593
2015-02-25 16:56:54 -08:00
Sunny Goyal 14334bda03 Merge "Removing code for the unused 'upgrade path'" into ub-launcher3-master 2015-02-12 18:23:28 +00:00
Sunny Goyal d3f035797e am c87775d8: Fixing rank migration code to handle null values correctly.
* commit 'c87775d8e63c7b5722c23ef95c782f574b847d73':
  Fixing rank migration code to handle null values correctly.
2015-02-11 23:01:53 +00:00
Sunny Goyal 66cfdc2549 Removing code for the unused 'upgrade path'
Change-Id: Ib9eca92284b0eabbe36ffaaf26c62a6ce3cfd3e9
2015-02-11 11:55:36 -08:00
Sunny Goyal c87775d8e6 Fixing rank migration code to handle null values correctly.
Bug: 19297508
Change-Id: I652ef30ab37f5b09204f0388de8e065d64b7724d
2015-02-10 19:53:41 -08:00
Nilesh Agrawal 7034f1467d am a258f812: Modify strict mode thread policy for LauncherProvider.
* commit 'a258f812fac21767d1f2e61ee7a7a58bfe6da582':
  Modify strict mode thread policy for LauncherProvider.
2015-01-26 22:28:49 +00:00
Nilesh Agrawal a258f812fa Modify strict mode thread policy for LauncherProvider.
Allowing thread writes too as SQLiteOpenHelper.getWritableDatabase needs it.

Bug: 19094644
Change-Id: I39fe97a9e7fc07c38a4f8e5c5979196b742e36bf
2015-01-26 14:07:29 -08:00
Nilesh Agrawal d8c2a43efa am fde11852: Add strict mode exception in LauncherProvider.
* commit 'fde11852cf0f91c4500a93dfffb44c1b86991e6e':
  Add strict mode exception in LauncherProvider.
2015-01-21 21:17:07 +00:00
Nilesh Agrawal fde11852cf Add strict mode exception in LauncherProvider.
Content providers are created during process startup (before Application.onCreate),
and we should not be doing expensive stuff in Provider.onCreate

Adding an exception for now as it looks like LauncherProvider initialization is needed
before we can show meaningful UI.

Bug: 19094644
Change-Id: I860c2934c110d3a43f1a3afa00729077dc64796c
2015-01-21 11:50:57 -08:00
Sunny Goyal a2cc624e75 Changing DB upgrade path to use swith case statement.
> This allows to cancel the whole upgrade path if any one step fails
and reset the DB

Change-Id: I645b74af8afcd21dda0d619691a5fb3dbf1a04c0
2015-01-21 11:05:00 -08: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
Sunny Goyal e87e6abc36 Removing dead code from Launcher provider
> Removing DB upgrade logic for versions before 12. Launcher3
was forked off Launcher2 when DB version was already 12, so, there
can never be a lower version of the DB.
> Removing logic for auto import of launcher2 DB. This flow had
been permanently disabled by a flag, and we show a confirmation
prompt/cling before migration

Change-Id: I2ac2f21fefc41ee247164566a088927263b09459
2015-01-05 12:48:11 -08:00
Sunny Goyal 416541cc0e Adding a few null checks.
1) During migration, if launcher2 has deleted user data,
migration oes not happen
  2) If Launcher3 does not has bind widget permission,
QSB would be null.

Bug: 18388507
Change-Id: Ief81f6f77ce154e7b3ecd4b77caf24239401e738
2014-11-14 12:36: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 33d4438976 Updating backup restore logic
> Adding DeviceProfile information in the backup
> Removing SharedPreference backup
> Adding helper methods to abort backup in the middle
> Comparing keys against the backup journal during restore
to avoid restoring corrupt/lost entries
> Old backups are still compatible, but lost keys verification
will be ignored in that case.

Bug: 17937935
Bug: 17951775
Bug: 17260941
Change-Id: Iad48646cfdd69abaff5c163b2055f3b8a9b39b19
2014-10-28 09:27:10 -07:00
Sunny Goyal 9d219685c5 Loading internal default layout if partner layout fails to load
Bug: 18033885
Change-Id: I8399d0107cc3570c0e03d833601abf2cd194b3d3
2014-10-27 16:28:44 -07:00
Adam Cohen a33f11e20a Was seeing some duplicated icons in the migration flow
-> The only delta between the two icons was slightly different flags
-> No need to consider flags for the purposes of duplication

Change-Id: I161f6ad6023d829e5ebbb15f1a9fbc9306795d80
2014-10-24 12:44:20 -07:00
Sunny Goyal 3a5a9d18da Refactoring layout parsing code
Change-Id: Iee5b2280cb1e841bcfe91fdcf523de6fa7f7f3b8
2014-10-17 14:34:49 -07:00
Adam Cohen cee8c66f9a Adding ability to list folder items in separate file
-> remove all apps default layouts

Bug 17569015

Change-Id: I39b899b61d5b1cff2d7801d281dacfc804c403c5
2014-10-17 01:33:55 +00:00
Adam Cohen 951e8812ab am ae5f7ce8: Merge "Fixing typo from previous CL" into ub-now-porkchop
* commit 'ae5f7ce8ed2e385cba8d65a67d9b108c9c3590e8':
  Fixing typo from previous CL
2014-10-14 22:15:32 +00:00
Adam Cohen 4079337ea7 am 755dd702: Merge "Fix missing screen when adding widget directly to provider" into ub-now-porkchop
* commit '755dd70238162d0b631a8a17c42047c61318be30':
  Fix missing screen when adding widget directly to provider
2014-10-14 22:15:32 +00:00
Adam Cohen d61a638e99 Fixing typo from previous CL
Bug 17969770

Change-Id: I4ea04864000d2ed8368ca81ba8cff42b4208d13d
2014-10-14 15:06:54 -07:00
Adam Cohen eb1ac42fd4 Fix missing screen when adding widget directly to provider
bug: 17969770
Change-Id: Icbd8451d8adde0519917a7bf06365517405759fe
2014-10-14 10:36:27 -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
Helena Josol 4fbbb3e3e0 Create a central list of files the Launcher writes to the app directory
Replace hardcoded Launcher filenames with the defined constants.

Bug: 12753154
Change-Id: I072f202d9388a703b9e6851bde64ea7fafe4b10a
2014-10-06 17:08:10 +01:00
Sunny Goyal 42de82ff8d Resetting launcherProvider data if restore set was empty
Bug: 17332300
Change-Id: I6d2187cd1b1fa7a53e49b96eb109263f6b74b258
2014-09-28 17:02:03 -07:00
Adam Cohen 4ae96ce92d Add ability for Partner customization apk to override certain DeviceProfile params
-> Workspace row / col counts
-> All apps row / col counts
-> Workspace icon size

issue 17208277

Change-Id: I25cfafede4da783083593b9bfeff4e5ba7751d36
2014-09-04 15:12:55 +00:00
Jason Monk c3009c06d9 Change URI favorite resolving to use launch intents
Rather than dropping the user in the middle of the app wherever
our intent resolves to, add a shortcut to the launch intent of
the app that handles that intent.

Bug: 16459162
Change-Id: I58256cdc9dc1b3441815f60cc354b60f91fb1a16
2014-08-20 10:00:31 -04: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