summaryrefslogtreecommitdiffstats
path: root/src/com/android
Commit message (Collapse)AuthorAgeFilesLines
* Trebuchet: fix derpEdward Cross2018-07-311-5/+1
| | | | | | | | * a77601a96c9dc0f7489e87a6ab0bb2499b8a9461 made it load predictive apps through the SearchLauncherCallback instead of our implementation Change-Id: I939adb6e0c4009cd22df4f81eb0ce5ecb30134ad
* Launcher3: Google Feed integrationEdward Cross2018-07-186-10/+356
| | | | | | | | If Google Search is installed, the Google Feed can be found at the -1 screen (which is the very left). This feature is enabled by default. Change-Id: I495196818699fd378cd60e6dd61b07a0ab951762
* Revert "Trebuchet: feed integration support"Joey2018-07-184-163/+0
| | | | | | This reverts commit 8dee56deeed7b09a9e5e9f4d21f27aa9d495930c. Change-Id: I911aff9099b69c07f784b89689dfeae0ec0e223c
* Edit dialog: dynamically apply foreground to iconAlexander Martinz2018-07-141-17/+25
| | | | | | | | | | | If there are no icon packs installed, we can not edit the icon, though it always applied a foreground and click listener. Only apply foreground and set click listener, if there are icon packs installed and clicking on it actually does something. Change-Id: I09ac1473c75d5edcf5e940a0e5bb2ec7f2296e8f Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
* WallpaperManager: do not crash because of insufficient permissionsAlexander Martinz2018-07-141-1/+4
| | | | | | | | | | In order to get the wallpaper, the app needs to be able to read external storage. Check if READ_EXTERNAL_STORAGE is granted before using it. Change-Id: I1559a3b9fa3dc3e20180bc380ddd4fa70eda1be3 Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
* IconsHandler: use ViewHolder, prevent AsyncTask leaks, cleanupAlexander Martinz2018-07-141-28/+55
| | | | | | | | | *) Use a ViewHolder pattern for the list *) Make the AsyncTask static to prevent leaks *) Remove unnecessary null checks when using instanceOf Change-Id: I333758874c98341552a1cce626e208cc6096ecb1 Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
* logging: prevent NPE at logDeepShortcutsOpenAlexander Martinz2018-07-141-1/+1
| | | | | | | | | getLaunchProviderRecursive(View) can return null. Check if provider is null before using it. Change-Id: I8cd157ba315e1dcc1fed428e0474b55b774bbd2f Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
* IconsHandler: prevent resource not found exception when getting xmlAlexander Martinz2018-07-141-3/+3
| | | | | | | | | JavaDoc of Resources#getIdentifier(...): Returns - The associated resource identifier. Returns 0 if no such resource was found. (0 is not a valid resource ID.) Change-Id: Ia9f4ea9efb56bb54d94729f70a3afcec5bce7999 Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
* IconPicker: clone drawables array to prevent IOOBEAlexander Martinz2018-07-041-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When binding the view holder, we are making use of lists, which can change. In case the lists are changing after binding, we can get an IOOBE when the click listener gets called. To work around this create a shallow copy of the lists and use it. ----- Stack Trace: java.lang.IndexOutOfBoundsException: Index: 44, Size: 44 at java.util.ArrayList.get(ArrayList.java:437) at com.android.launcher3.icons.IconPickerActivity$GridAdapter.lambda$-com_android_launcher3_icons_IconPickerActivity$GridAdapter_9734(IconPickerActivity.java:248) at com.android.launcher3.icons.-$Lambda$aHbfyH3p1fvGkmuJq2f35Z_cj_A$2.$m$0 at com.android.launcher3.icons.-$Lambda$aHbfyH3p1fvGkmuJq2f35Z_cj_A$2.onClick at android.view.View.performClick(View.java:6320) at android.view.View$PerformClick.run(View.java:25087) at android.os.Handler.handleCallback(Handler.java:869) at android.os.Handler.dispatchMessage(Handler.java:101) at android.os.Looper.loop(Looper.java:206) at android.app.ActivityThread.main(ActivityThread.java:6733) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:845) ----- Change-Id: Id3bc8a01c29517230765a032f220bccccda2b386 Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
* IconCache: fix nullpointer exceptionsAlexander Martinz2018-06-181-4/+15
| | | | | | | | | | | | | | | | | | | | | | | | | LauncherActivityInfo's or resolved activities can be null. Example crash: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.ComponentName android.content.pm.LauncherActivityInfo.getComponentName()' on a null object reference at com.android.launcher3.IconCache.getCacheEntry(IconCache.java:392) at com.android.launcher3.Launcher.startEdit(Launcher.java:3988) at com.android.launcher3.popup.SystemShortcut$AppEdit.lambda$-com_android_launcher3_popup_SystemShortcut$AppEdit_4399(SystemShortcut.java:115) at com.android.launcher3.popup.-$Lambda$_SMHeS1Apq5nUPo60kvmkZszeNE.$m$0 at com.android.launcher3.popup.-$Lambda$_SMHeS1Apq5nUPo60kvmkZszeNE.onClick at android.view.View.performClick(View.java:6320) at android.view.View$PerformClick.run(View.java:25087) at android.os.Handler.handleCallback(Handler.java:869) at android.os.Handler.dispatchMessage(Handler.java:101) at android.os.Looper.loop(Looper.java:206) at android.app.ActivityThread.main(ActivityThread.java:6733) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:845) Issue: SHIFTOS-SW-31 Change-Id: If5f027e3146b358036b1ac1a1e973467d4fca2c4 Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
* Trebuchet: don't log apps for predictive suggestions when disabledJoey2018-06-123-0/+12
| | | | | Change-Id: I5d9b8174431cfbfa8c0227c31a9ec288433d6d4c Signed-off-by: Joey <joey@lineageos.org>
* Trebuchet: make forced adaptive icons optionalJoey2018-05-213-4/+22
| | | | | Change-Id: Ie84af7114118f54b2d267a35ce24dd5e58c0be22 Signed-off-by: Joey <joey@lineageos.org>
* config: enable LEGACY_ICON_TREATMENTAlexander Martinz2018-05-211-1/+1
| | | | | Change-Id: I724990a78d96b55724ee6387eb243cfb95871360 Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
* Icons: wrap all legacy icons to adaptive iconsAlexander Martinz2018-05-212-3/+9
| | | | | | | | | | Previously only apps targetting API 26 (O) would get wrapped as adaptive icon, resulting in legacy icons still looking out of place. Wrap all icons, independent of target API. Change-Id: I3647d95c7f4f5c0515a14cbf4eebd5afcdfb38ae Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
* Icons: fix non-adaptive icon handlingAlexander Martinz2018-05-213-25/+28
| | | | | | | The icon pack support broke this feature, fix it up to make it work again. Change-Id: I22e1ba953fc8cabb0e7633a3c5cf3ce5c07cf762 Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
* Trebuchet: improve predictive appsJoey2018-05-215-97/+298
| | | | | | | | | | | | | | - Store data in a sql db - Categorize app launch between - Day - Night - Headphones The suggestions will change on the go basing on whether an headset is plugged in or it's day or night Change-Id: Ic9d8dd4dafbb1a56157140119df71efd6fb4349a Signed-off-by: Joey <joey@lineageos.org>
* LauncherProvider: fix crash when disk is fullAlexander Martinz2018-04-291-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Stacktrace: android.database.sqlite.SQLiteFullException: database or disk is full (code 13) at android.database.sqlite.SQLiteConnection.nativeExecuteForChangedRowCount(SQLiteConnection.java) at android.database.sqlite.SQLiteConnection.executeForChangedRowCount(SQLiteConnection.java:750) at android.database.sqlite.SQLiteSession.executeForChangedRowCount(SQLiteSession.java:754) at android.database.sqlite.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:64) at android.database.sqlite.SQLiteDatabase.updateWithOnConflict(SQLiteDatabase.java:1604) at android.database.sqlite.SQLiteDatabase.update(SQLiteDatabase.java:1550) at com.android.launcher3.LauncherProvider.update(LauncherProvider.java:360) at android.content.ContentProvider$Transport.update(ContentProvider.java:359) at android.content.ContentResolver.update(ContentResolver.java:1672) at com.android.launcher3.model.ModelWriter$UpdateItemRunnable.run(ModelWriter.java:290) at com.android.launcher3.util.LooperExecutor.execute(LooperExecutor.java:39) at com.android.launcher3.model.ModelWriter.updateItemInDatabase(ModelWriter.java:197) at com.android.launcher3.model.PackageUpdatedTask.execute(PackageUpdatedTask.java:258) at com.android.launcher3.model.BaseModelUpdateTask.run(BaseModelUpdateTask.java:67) at android.os.Handler.handleCallback(Handler.java:869) at android.os.Handler.dispatchMessage(Handler.java:101) at android.os.Looper.loop(Looper.java:206) at android.os.HandlerThread.run(HandlerThread.java:65) Issue: SHIFTOS-SW-18 Change-Id: I4c4fa9239b9ff14a6614187c450d12b6006fde82 Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
* PagedView: fix pointer index out of rangeAlexander Martinz2018-04-291-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Stacktrace: java.lang.IllegalArgumentException: pointerIndex out of range at android.view.MotionEvent.nativeGetAxisValue(MotionEvent.java) at android.view.MotionEvent.getX(MotionEvent.java:2201) at com.android.launcher3.PagedView.onTouchEvent(PagedView.java:1557) at android.view.View.dispatchTouchEvent(View.java:11842) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3068) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2700) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3074) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2714) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3074) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2714) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3074) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2714) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3074) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2714) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3074) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2714) at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:464) at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1854) at android.app.Activity.dispatchTouchEvent(Activity.java:3292) at com.android.launcher3.Launcher.dispatchTouchEvent(Launcher.java:2781) at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:426) at android.view.View.dispatchPointerEvent(View.java:12092) at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5279) at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5084) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4581) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4634) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4600) at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4747) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4608) at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4804) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4581) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4634) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4600) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4608) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4581) at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7259) at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7233) at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7176) at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7431) at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185) at android.os.MessageQueue.nativePollOnce(MessageQueue.java) at android.os.MessageQueue.next(MessageQueue.java:325) at android.os.Looper.loop(Looper.java:147) at android.app.ActivityThread.main(ActivityThread.java:6733) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:845) Issue: SHIFTOS-SW-19 Change-Id: Idcab340d65ee2a4782052b4d1a9de73a886afef7 Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
* PredictiveAppsProvider: fix null pointer exceptionAlexander Martinz2018-04-271-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If component is null, we call ComponentName#getPackageName() on a null object reference. Happened when opening an app while it was upgraded. ---------- Stacktrace: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.ComponentName.getPackageName()' on a null object reference at com.android.launcher3.allapps.PredictiveAppsProvider.buildComponentString(PredictiveAppsProvider.java:99) at com.android.launcher3.allapps.PredictiveAppsProvider.updateComponentCount(PredictiveAppsProvider.java:32) at com.android.launcher3.Launcher.startActivitySafely(Launcher.java:2764) at com.android.launcher3.Launcher.startAppShortcutOrInfoActivity(Launcher.java:2520) at com.android.launcher3.Launcher.onClick(Launcher.java:2352) at android.view.View.performClick(View.java:6320) at android.view.View$PerformClick.run(View.java:25087) at android.os.Handler.handleCallback(Handler.java:869) at android.os.Handler.dispatchMessage(Handler.java:101) at android.os.Looper.loop(Looper.java:206) at android.app.ActivityThread.main(ActivityThread.java:6733) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:845) ---------- Issue: BUGBASH-1524 Change-Id: I970453f5da87c36e9915b8c0bbe9f1cd2302ec93 Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
* Avoid crash when widget previews have no intrinsic sizeRoger Olsson2018-04-271-3/+4
| | | | | | | | | | Intrinsic size for widget preview drawable checked. Needed since some drawables, like color drawables, do not have any intrinsic size. Bug: 78452220 Test: manual, see Bug info. Change-Id: I815353773e38b1fce2fe19962f07c1727e1b0768
* config: enable LAUNCHER3_PROMISE_APPS_IN_ALL_APPSAlexander Martinz2018-04-121-1/+1
| | | | | Change-Id: If8a0e5595734eacb038f31c38bf7b4f151fd4825 Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
* WallpaperManagerCompat: correct build version checkAlexander Martinz2018-04-101-1/+1
| | | | | | | | | | WallpaperManagerCompatVOMR1 is targeting API 27 (O MR1), but the api guard is checking, if we are running API 26 (O) or above. Correct the check to prevent using unavailable Wallpaper APIs. Change-Id: Iaf510bb79010e640db04adbbc2ee44de9abd6913 Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
* Utilities: fix checking whether non-default icon pack is appliedAlexander Martinz2018-04-093-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | The current check returns the opposite of what the method is called. Printing the following values: - defaultPack, defaultLocalizedPack, currentPack, isNotUsingIconPack without icon pack applied: - Default | System (Standard) | System (Standard) | false with "Frost" (com.dkanada.icecons) icon pack applied: - Default | System (Standard) | com.dkanada.icecons | true with "Pixel Icon Pack" (com.themezilla.pixelui) icon pack applied: - Default | System (Standard) | com.themezilla.pixelui | true To correct this behavior: *) rename "isNotUsingIconPack" to "isUsingIconPack" *) fix all the users of the method *) add comments to document the thoughts behind the logic Change-Id: I8a5339fae536a3f3803637353737994670d8ee92 Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
* Trebuchet: allow disabling workspace editJoey2018-02-056-2/+25
| | | | | Change-Id: I503e19cbc512eac0e4a8c8bccc16a6ccc0e805da Signed-off-by: Joey <joey@lineageos.org>
* Trebuchet: prevent NPE when opening settings the first timeJoey2018-01-191-0/+5
| | | | | | | | | | | E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{org.lineageos.trebuchet/com.android.launcher3.SettingsActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.libraries.launcherclient.LauncherClient.onDestroy()' on a null object reference Change-Id: I161c7888932d32cdc6d9f11d4f140ca635dab72d Signed-off-by: Joey <joey@lineageos.org>
* Trebuchet: feed integration supportThecrazyskull2018-01-194-0/+160
| | | | | | | | | | | | | | jrizzoli: adapted for trebuchet Includes the following commits: * Launcher3: support google now tab * LauncherClient: make sure service is connected before trying to unbind * Launcher3: animate workspace when animating the Google now page * Launcher3: make Google now left page optional * Launcher3: cleanup launcher tab preference Change-Id: I84582ae812b8ecb0d694ae2396843effdcf1219c Signed-off-by: Joey <joey@lineageos.org>
* Trebuchet: initial icon shape exposure for future extensionJoey Rizzoli2018-01-191-3/+4
| | | | | Change-Id: I76a571ce2b53214ef197a5164f584cb4dc2d3ecf Signed-off-by: Joey Rizzoli <joey@lineageos.org>
* Trebuchet: disable legacy icon treatmentJoey Rizzoli2018-01-191-1/+1
| | | | | | | | | It was partially disabled with https://github.com/jrizzoli/bug-free-bassoon/commit/ef63be31dac06e783546fbe6b5dad9c40a36223b but it was still applied with icon packs on apps targeting oreo Edited the proguard config to avoid classNotFound exceptions Signed-off-by: Joey Rizzoli <joey@lineageos.org>
* Disable QSB in hotseatJoey2018-01-191-1/+1
| | | | Signed-off-by: Joey <joey@lineageos.org>
* Trebuchet: quick settings & settings reorganizationJoey Rizzoli2018-01-195-141/+227
| | | | Signed-off-by: Joey Rizzoli <joey@lineageos.org>
* Trebuchet: icon packs supportJoey Rizzoli2018-01-1913-5/+1293
| | | | | | | | | | | | | | | Based on the following commits: * https://github.com/AOSPA/android_packages_apps_Launcher3/commit/cf4bde2098de8beec24a0c88bf2e51e19a9c22b6 * https://github.com/AOSPA/android_packages_apps_Launcher3/commit/8ddafe17ad6adc268ad1a93b7724d8b22028a71b * https://github.com/AOSPA/android_packages_apps_Launcher3/commit/0940176c3c01a1f87237811f42d05a592b0968b3 With the following additions: * Support for adaptive icons * UI changes * Cleanup and improvements Change-Id: I877a8b2dd204753179736fa7c1c34444e9b2c849 Signed-off-by: Joey Rizzoli <joey@lineageos.org>
* Trebuchet: add toggle for desktop and drawer labelsJoey Rizzoli2018-01-192-4/+27
| | | | Signed-off-by: Joey Rizzoli <joey@lineageos.org>
* Launcher3: custom gridJoey Rizzoli2018-01-195-13/+165
| | | | | Signed-off-by: Arne Coucheron <arco68@gmail.com> Signed-off-by: Joey Rizzoli <joey@lineageos.org>
* Trebuchet: predictive appsYajat2018-01-193-6/+152
| | | | | | jrizzoli: expose for runtime toggle Signed-off-by: Joey <joey@lineageos.org>
* Trebuchet: allow non-developers to change icon shapeJoey Rizzoli2018-01-191-6/+0
| | | | Signed-off-by: Joey Rizzoli <joey@lineageos.org>
* Trebuchet expand statusbar on swipe downThecrazyskull2018-01-191-1/+37
| | | | | Change-Id: I5e75b7e1c6806dae9ac2a000e377873319a5f787 Signed-off-by: Joey Rizzoli <joey@lineageos.org>
* Workspace: Allow resizing any widgetNebojsa Cvetkovic2018-01-192-22/+5
| | | | Signed-off-by: Joey Rizzoli <joey@lineageos.org>
* Settings: Hide Notification Dots on low RAM devicesAdrian DC2018-01-191-1/+3
| | | | | | | | | | * As the feature is not available for low RAM devices, hide it from the Settings to avoid confusion * Acquire ActivityManager service to read isLowRamDevice Change-Id: I34a6ee1b4838f31194c89327e301d4fd39670c02 Signed-off-by: Adrian DC <radian.dc@gmail.com>
* Provider: Initialize createEmptyRowOnFirstScreen without QSBAdrian DC2018-01-191-1/+1
| | | | Change-Id: Ib29b20b051b8fe976f20e92b141c373c8f0cfae3
* Launcher3: Stability NullPointer issueyingrenw2018-01-191-1/+1
| | | | | | | | | | | | Description: Compute a child location by recursion, it may not have parent view. When the child doesn't have parent, should break the recursive. Change-Id: I8707712b85c10bf1c1d3860c5b8323aefd455cf2 CRs-Fixed: 1104931
* Launcher3: App search interface overlap with the desktop iconguangbing2018-01-191-0/+1
| | | | | | | App seach interface overlap with the desktop icon. Change-Id: Ifc20d8386fe267ecfdc7152b75894b1666facc45 CRs-Fixed: 1002855
* Disable QSB on first screen by defaultArne Coucheron2018-01-191-1/+1
| | | | Change-Id: I24f1682cbad10610f04f7b8ada238b43addd23da
* Don't request button focus when pressing menu keyArne Coucheron2018-01-191-1/+1
| | | | | | | | | | 1. Press hardware menu key 2. Press hardware back key or home key 3. Observe transparent block I consider this an annoying glitch, and this patch fixes it. Change-Id: I2b0be3999cfbe6f35c485984efff564b1478cdbc
* Enable light status bar featureArne Coucheron2018-01-191-1/+1
| | | | Change-Id: I8cc6068b534324c6750b3d4768c907fcf0f4cfbd
* Merge "Fix bug where labels were visible in hotseat / invisible in ↵Jonathan Miranda2017-10-061-1/+1
|\ | | | | | | workspace." into ub-launcher3-dorval-polish2
| * Fix bug where labels were visible in hotseat / invisible in workspace.Jon Miranda2017-10-041-1/+1
| | | | | | | | | | Bug: 67364623 Change-Id: Ib66a5cdaca767fd8546f4ffd02d590981bb8135a
* | Larger icons for L3Go and spacing changes.Jon Miranda2017-10-031-3/+15
|/ | | | | | | | | | | There are cases (ie. smaller devices) where the icon label is closer to the icon below it (rather than its corresponding icon). To fix this, we ensure that the drawable padding (space between the icon and its label) is no larger than the vertical padding of the cell. Bug: 67317867 Change-Id: Ic3729726eebb60b67d658361c4335e724b7d68d7
* Remove discovery bounce for demo usersAdam Cohen2017-10-021-1/+4
| | | | | | Bug 67116550 Change-Id: I8a27685f91e201072c0669c102077affe550fab6
* Merge "Fix predictiveApps Bug: 67010327" into ub-launcher3-dorval-polish2TreeHugger Robot2017-09-291-3/+5
|\
| * Fix predictiveAppsHyunyoung Song2017-09-291-3/+5
| | | | | | | | | | | | Bug: 67010327 Change-Id: Iab6ea790e99bb66bd0d7d4f07a8ad9fa05387d13