mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-27 15:26:58 +00:00
fixed NPEs below q(#5048)
* fixed java.lang.NoSuchMethodError: No interface method toList()
´´´
Ljava/util/List; in class Ljava/util/stream/Stream; or its super classes (declaration of 'java.util.stream.Stream' appears in /system/framework/core-oj.jar)
at com.android.launcher3.model.WidgetsModel.getFilteredWidgetsListForPicker(WidgetsModel.java:99)
at com.android.launcher3.model.WidgetsModel.getWidgetsListForPicker(WidgetsModel.java:122)
at com.android.launcher3.model.BaseLauncherBinder.bindWidgets(BaseLauncherBinder.java:204)
at com.android.launcher3.model.LoaderTask.run(LoaderTask.java:338)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.os.HandlerThread.run(HandlerThread.java:65)
´´´
* fix crashes when trying to customize from folders
* fix NoClassDefFound attempting to create new folder in lower apis
* fix java.lang.NoSuchMethodError: No static method beginAsyncSection(Ljava/lang/String;I)V in class Landroid/os/Trace; or its super classes (declaration of 'android.os.Trace' appears in /system/framework/framework.jar!classes2.dex) when adding widgets below Q
at com.android.launcher3.widget.LauncherAppWidgetHostView.setAppWidget(LauncherAppWidgetHostView.java:126)
at android.appwidget.AppWidgetHost.createView(AppWidgetHost.java:382)
at com.android.launcher3.widget.LauncherWidgetHolder.createViewInternal(LauncherWidgetHolder.java:447)
at com.android.launcher3.widget.LauncherWidgetHolder.createView(LauncherWi
* fix java.lang.NoSuchMethodError: No static method beginAsyncSection(Ljava/lang/String;I)V in class Landroid/os/Trace; or its super classes (declaration of 'android.os.Trace' appears in /system/framework/framework.jar!classes2.dex) when adding widgets below Q
at com.android.launcher3.widget.LauncherAppWidgetHostView.setAppWidget(LauncherAppWidgetHostView.java:126)
at android.appwidget.AppWidgetHost.createView(AppWidgetHost.java:382)
at com.android.launcher3.widget.LauncherWidgetHolder.createViewInternal(LauncherWidgetHolder.java:447)
at com.android.launcher3.widget.LauncherWidgetHolder.createView(LauncherWi
* fix java.lang.NoSuchMethodError: No virtual method setSystemGestureExclusionRects(Ljava/util/List;)V in class Lcom/android/launcher3/AppWidgetResizeFrame; or its super classes (declaration of 'com.android.launcher3.AppWidgetResizeFrame' appears in /data/app/app.lawnchair.play.debug-ewPju7gaDxUbh-ipLPLIoA==/base.apk!classes6.dex)
* fix more NoSuchMethodError
* fix NPE´s
* fix: disable showing addButton widget as it not make sense i think
* fix java.lang.NoSuchMethodError: No virtual method getInstallerUid()I in class Landroid/content/pm/PackageInstaller$SessionInfo; or its super classes (declaration of 'android.content.pm.PackageInstaller$SessionInfo' appears in /system/framework/framework.jar)
at com.android.launcher3.pm.InstallSessionHelper.getUserHandle(InstallSessionHelper.java:265)
at com.android.launcher3.pm.InstallSessionHelper.verify(InstallSessionHelper.java:164)
* fix java.lang.NoSuchMethodError: No virtual method getInstallerUid()I in class Landroid/content/pm/PackageInstaller$SessionInfo; or its super classes (declaration of 'android.content.pm.PackageInstaller$SessionInfo' appears in /system/framework/framework.jar)
at com.android.launcher3.pm.InstallSessionHelper.getUserHandle(InstallSessionHelper.java:265)
at com.android.launcher3.pm.InstallSessionHelper.verify(InstallSessionHelper.java:164)
* Update InstallSessionHelper
* revert changes in BaseWidgetSheet
* apply changes from code review
This commit is contained in:
committed by
GitHub
parent
742ff94968
commit
5e20759cc8
@@ -253,12 +253,12 @@ public class AppEventProducer implements StatsLogConsumer {
|
||||
return createTempFolderTarget();
|
||||
}
|
||||
if (id != null && cn != null) {
|
||||
if (shortcutInfo != null) {
|
||||
return new AppTarget.Builder(new AppTargetId(id), shortcutInfo).build();
|
||||
}
|
||||
if (!Utilities.ATLEAST_Q) {
|
||||
return null;
|
||||
}
|
||||
if (shortcutInfo != null) {
|
||||
return new AppTarget.Builder(new AppTargetId(id), shortcutInfo).build();
|
||||
}
|
||||
return new AppTarget.Builder(new AppTargetId(id), cn.getPackageName(), userHandle)
|
||||
.setClassName(cn.getClassName())
|
||||
.build();
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
|
||||
package com.android.launcher3.compat;
|
||||
|
||||
import static com.android.launcher3.Utilities.ATLEAST_Q;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
@@ -110,6 +112,6 @@ public class AccessibilityManagerCompat {
|
||||
}
|
||||
|
||||
public static int getRecommendedTimeoutMillis(Context context, int originalTimeout, int flags) {
|
||||
return getManager(context).getRecommendedTimeoutMillis(originalTimeout, flags);
|
||||
return ATLEAST_Q ? getManager(context).getRecommendedTimeoutMillis(originalTimeout, flags) : originalTimeout;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import android.content.pm.LauncherApps;
|
||||
import android.content.pm.PackageInstaller;
|
||||
import android.content.pm.PackageInstaller.SessionInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Process;
|
||||
import android.os.UserHandle;
|
||||
import android.text.TextUtils;
|
||||
|
||||
@@ -262,6 +263,6 @@ public class InstallSessionHelper implements SafeCloseable {
|
||||
}
|
||||
|
||||
public static UserHandle getUserHandle(@NonNull final SessionInfo info) {
|
||||
return info.getUser();
|
||||
return Utilities.ATLEAST_Q ? info.getUser() : Process.myUserHandle();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -136,8 +136,10 @@ public class LauncherAppWidgetHostView extends BaseLauncherAppWidgetHostView
|
||||
public void updateAppWidget(RemoteViews remoteViews) {
|
||||
if (mTrackingWidgetUpdate && remoteViews != null) {
|
||||
Log.i(TAG, "App widget with id: " + getAppWidgetId() + " loaded");
|
||||
Trace.endAsyncSection(
|
||||
if (ATLEAST_Q) {
|
||||
Trace.endAsyncSection(
|
||||
TRACE_METHOD_NAME + getAppWidgetInfo().provider, getAppWidgetId());
|
||||
}
|
||||
mTrackingWidgetUpdate = false;
|
||||
}
|
||||
if (isDeferringUpdates()) {
|
||||
|
||||
@@ -162,6 +162,8 @@ public class WidgetCell extends LinearLayout {
|
||||
mWidgetName = findViewById(R.id.widget_name);
|
||||
mWidgetDims = findViewById(R.id.widget_dims);
|
||||
mWidgetDescription = findViewById(R.id.widget_description);
|
||||
mWidgetAddButton = findViewById(R.id.widget_add_button);
|
||||
mWidgetTextContainer = findViewById(R.id.widget_text_container);
|
||||
|
||||
FontManager fontManager = FontManager.INSTANCE.get(getContext());
|
||||
fontManager.setCustomFont(mWidgetName, R.id.font_body_medium);
|
||||
|
||||
Reference in New Issue
Block a user