summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Automatic translation importMichael Bestas2018-07-092-0/+4
| | | | Change-Id: Ic02d71841ded552fe7c1b370607b5afada970126
* Trebuchet: use system's accentJoey2018-07-063-5/+0
| | | | | Change-Id: Ic4d084179736aba1559fdd4ab0fef20c452dedf5 Signed-off-by: Joey <joey@lineageos.org>
* Trebuchet: the superior siege weapon doesn't need paddings in allApps' iconsJoey2018-07-061-2/+2
| | | | | Change-Id: Ia46972410d357cf167d2bdb60a617647e8d5b6cb Signed-off-by: Joey <joey@lineageos.org>
* 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>
* Automatic translation importMichael Bestas2018-06-1812-1/+37
| | | | Change-Id: Ia8c9ff9630d094826c53ecd38f2a46cdd62d333f
* 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>
* Automatic translation importMichael Bestas2018-06-0320-3/+69
| | | | Change-Id: Ia5aebbd0346dfcb066d159807349c73f21c5902b
* Trebuchet: make forced adaptive icons optionalJoey2018-05-216-4/+58
| | | | | 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>
* Automatic translation importMichael Bestas2018-05-086-5/+51
| | | | Change-Id: Ie7169cfe1308493ebd515434d5d8e07848e2c416
* Trebuchet: update build.gradleJoey2018-05-021-2/+6
| | | | | Change-Id: If9f4d4ccddd2ea8e9cc44881964d698827609465 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
* Automatic translation importMichael Bestas2018-04-202-3/+3
| | | | Change-Id: I29bd10eb84c8d86fec836530cbcadea978e2dd75
* Increased folder icon previewEmre Harbutoğlu2018-04-121-1/+1
| | | | | | It was very little. Change-Id: I2883c8ffb1eac927e67efd45639bad2fb2c5207e
* 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>
* xml: device_profiles: correct XML tagAlexander Martinz2018-04-101-2/+2
| | | | | | | When specifying the package name, Android Studio gets really confused Change-Id: I26e2b874c4a72f1f042eb581cb14f3f6e055d61c 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: get rid of old iconsAlexander Martinz2018-04-0515-42/+3
| | | | | | | Update all references to use the new adaptive icon and drop the old ones. Change-Id: I8d81bc027ff965aad05d43514afbb77564b3651b Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
* Trebuchet: fix feed icon size in settingsJoey2018-04-041-2/+2
| | | | | Change-Id: Idfd67c32ae8c37c55dd98a7c20d58bd1e7bf72be Signed-off-by: Joey <joey@lineageos.org>
* Automatic translation importMichael Bestas2018-04-019-2/+113
| | | | Change-Id: I59f8f47657f8c550a89a09425a249c88b46e299b
* Automatic translation importMichael Bestas2018-03-0910-4/+187
| | | | Change-Id: Ie8db1cb142beb457d2ddfe4a0280e98af3357f4f
* Trebuchet: Add contacts to the hotseatLuca Stefani2018-03-041-1/+8
| | | | Change-Id: I1552fdab7de1249ee057125883672bcf028e7294
* Automatic translation importMichael Bestas2018-02-2519-0/+159
| | | | Change-Id: I2ba060bd210ed6633ce622ed38c62ce543023fed
* Automatic translation importMichael Bestas2018-02-22127-187/+7086
| | | | Change-Id: I8d0f8a46e6650ec2335606a413e04e26a94fb373
* Trebuchet: adaptive iconAsher Simonds2018-02-1712-1/+21
| | | | | Change-Id: I84662d7cb35ed751c61c6223dc02f256f5ab3311 Signed-off-by: Joey <joey@lineageos.org>
* Trebuchet: add super ellipse icon shapeJoey2018-02-172-5/+7
| | | | | Change-Id: Ie7cdbff0cafd5bfd26c807e10a8cae114aba9e1b Signed-off-by: Joey <joey@lineageos.org>
* TrebuchetGo: Rename Launcher3Go package namestaging/lineage-15.1Adrian DC2018-02-051-2/+4
| | | | | | | * Also allows holding both Trebuchet and Launcher3 in the same Android repository tree Change-Id: I3e37582746e2bca9549063cd8c69372c57bb525b
* Trebuchet: fix settings icon colors with dark themeJoey2018-02-053-3/+4
| | | | | Change-Id: I70279361f6b38772286311117c3dfba3b951565d Signed-off-by: Joey <joey@lineageos.org>
* Trebuchet: allow disabling workspace editJoey2018-02-059-2/+63
| | | | | Change-Id: I503e19cbc512eac0e4a8c8bccc16a6ccc0e805da Signed-off-by: Joey <joey@lineageos.org>
* Trebuchet: bump buildToolsVersionJoey2018-02-041-1/+1
| | | | | Change-Id: Ia9a34bc4e1006d5e721c342086c91bb19c877ee7 Signed-off-by: Joey <joey@lineageos.org>
* Launcher3Go: Adapt build rules and manifestAdrian DC2018-02-042-1/+7
| | | | | | | | | * Follows previous commits: "Bump targetsdk to 27" "Bump minsdk to 23" "Trebuchet: quick settings & settings reorganization" Change-Id: Ided58300528647c1e7c2689b20365232d0d004b6
* Trebuchet: allow notification dots to be coloredJoey2018-02-031-2/+2
| | | | | | | No idea about why google "turned off" this feature Change-Id: Ieec11eb4c78975d923f8e24be8706bc2d4c76825 Signed-off-by: Joey <joey@lineageos.org>
* Trebuchet: Update references to ElevenMichael Bestas2018-01-233-12/+12
| | | | | | * Package name was rebranded Change-Id: If90125424c160fc5c2728abaf48562767170cc06
* 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-1912-0/+1049
| | | | | | | | | | | | | | 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-194-8/+62
| | | | | Change-Id: I76a571ce2b53214ef197a5164f584cb4dc2d3ecf Signed-off-by: Joey Rizzoli <joey@lineageos.org>
* Trebuchet: disable legacy icon treatmentJoey Rizzoli2018-01-192-1/+5
| | | | | | | | | 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-1927-209/+686
| | | | Signed-off-by: Joey Rizzoli <joey@lineageos.org>
* Trebuchet: icon packs supportJoey Rizzoli2018-01-1930-6/+1697
| | | | | | | | | | | | | | | 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-194-4/+43
| | | | Signed-off-by: Joey Rizzoli <joey@lineageos.org>
* Launcher3: custom gridJoey Rizzoli2018-01-1910-14/+249
| | | | | Signed-off-by: Arne Coucheron <arco68@gmail.com> Signed-off-by: Joey Rizzoli <joey@lineageos.org>