| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Change-Id: I6d3fad9e69f28039f04ea5aa7f51f9499221296e
|
|
|
|
| |
Change-Id: I082f8f3893d9334616674acfb120eb3028322c78
|
|
|
|
|
| |
Change-Id: Ic39b483658fca493fa0cb51af267883ea491051a
Signed-off-by: Edward Cross <edward.k.cross@gmail.com>
|
|
|
|
| |
Change-Id: Id46932dc0e231093742deebb4f5326ad33929e11
|
|
|
|
| |
Change-Id: I1be32b3a98983de05860e549ccd356d20ce86f5a
|
|
|
|
| |
Change-Id: I2e0bcc848bb89c7c6100720019d1355b4c7a92c6
|
|
|
|
|
|
|
| |
On a LTR system the -1 page is on the left, so you need to swipe
to the right to access it.
Change-Id: I092f5ed1a27045f8a42b62b93f74c4d3f278d6d7
|
|
|
|
| |
Change-Id: Iccc22f28b921fd82292f2fd09a67b28b60fccfc8
|
|
|
|
| |
Change-Id: If95c76daa61514f587e55edce8dea7349b258b83
|
|
|
|
| |
Change-Id: I68b97ade4a16f1c7d309ba7686845c35876410f0
|
|
|
|
|
|
|
|
| |
* Don't use camel case
* Fix typo
* Uniform usage of homescreen
Change-Id: Ib18375d8b02486f71a36b036e30ba90c4a573bc2
|
|
|
|
|
|
|
|
| |
* a77601a96c9dc0f7489e87a6ab0bb2499b8a9461 made
it load predictive apps through the SearchLauncherCallback
instead of our implementation
Change-Id: I939adb6e0c4009cd22df4f81eb0ce5ecb30134ad
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
This reverts commit 8dee56deeed7b09a9e5e9f4d21f27aa9d495930c.
Change-Id: I911aff9099b69c07f784b89689dfeae0ec0e223c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*) Remove buildToolsVersion to let the gradle plugin pick the best one
automatically.
"If you're using Android plugin for Gradle 3.0.0 or higher,
your project automatically uses a default version of the build tools
that the plugin specifies."
*) Upgrade android gradle plugin to latest stable version
*) Upgrade protobuf plugin to 0.8.6, which does not depend on
private APIs anymore and allows using newer AS versions.
*) Update to new syntax, replace "compile" with "implementation"
Change-Id: I87a3e444011fa46795908e85bafd9ed96cd78a97
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
This looks really weird on dark color accents.
As we are supporting dynamic color accents with RRO overlays,
we might need to switch to something dynamically in future.
Change-Id: I71fccc301de43d55bf7e9a31a3166b7a59a2c236
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
*) 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>
|
|
|
|
|
|
|
|
|
| |
getLaunchProviderRecursive(View) can return null.
Check if provider is null before using it.
Change-Id: I8cd157ba315e1dcc1fed428e0474b55b774bbd2f
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Change-Id: Ic02d71841ded552fe7c1b370607b5afada970126
|
|
|
|
|
| |
Change-Id: Ic4d084179736aba1559fdd4ab0fef20c452dedf5
Signed-off-by: Joey <joey@lineageos.org>
|
|
|
|
|
| |
Change-Id: Ia46972410d357cf167d2bdb60a617647e8d5b6cb
Signed-off-by: Joey <joey@lineageos.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Change-Id: Ia8c9ff9630d094826c53ecd38f2a46cdd62d333f
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: I5d9b8174431cfbfa8c0227c31a9ec288433d6d4c
Signed-off-by: Joey <joey@lineageos.org>
|
|
|
|
| |
Change-Id: Ia5aebbd0346dfcb066d159807349c73f21c5902b
|
|
|
|
|
| |
Change-Id: Ie84af7114118f54b2d267a35ce24dd5e58c0be22
Signed-off-by: Joey <joey@lineageos.org>
|
|
|
|
|
| |
Change-Id: I724990a78d96b55724ee6387eb243cfb95871360
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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>
|
|
|
|
| |
Change-Id: Ie7169cfe1308493ebd515434d5d8e07848e2c416
|
|
|
|
|
| |
Change-Id: If9f4d4ccddd2ea8e9cc44881964d698827609465
Signed-off-by: Joey <joey@lineageos.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I29bd10eb84c8d86fec836530cbcadea978e2dd75
|
|
|
|
|
|
| |
It was very little.
Change-Id: I2883c8ffb1eac927e67efd45639bad2fb2c5207e
|
|
|
|
|
| |
Change-Id: If8a0e5595734eacb038f31c38bf7b4f151fd4825
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
When specifying the package name, Android Studio gets really confused
Change-Id: I26e2b874c4a72f1f042eb581cb14f3f6e055d61c
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: Idfd67c32ae8c37c55dd98a7c20d58bd1e7bf72be
Signed-off-by: Joey <joey@lineageos.org>
|
|
|
|
| |
Change-Id: I59f8f47657f8c550a89a09425a249c88b46e299b
|
|
|
|
| |
Change-Id: Ie8db1cb142beb457d2ddfe4a0280e98af3357f4f
|