Fix CrashReportActivity theme (#2226)

This commit is contained in:
Howard Wu 2022-11-12 22:18:54 +08:00 committed by GitHub
parent 8f3684a9cb
commit 6ee21618a6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 38 additions and 37 deletions

View File

@ -23,13 +23,15 @@ package org.lsposed.manager.ui.activity;
import android.content.ClipData; import android.content.ClipData;
import android.content.ClipboardManager; import android.content.ClipboardManager;
import android.content.Intent; import android.content.Intent;
import android.content.res.Resources;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.widget.Toast; import android.widget.Toast;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import com.google.android.material.color.DynamicColors;
import org.lsposed.manager.BuildConfig; import org.lsposed.manager.BuildConfig;
import org.lsposed.manager.R; import org.lsposed.manager.R;
@ -39,8 +41,9 @@ import org.lsposed.manager.util.NavUtil;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import rikka.material.app.LocaleDelegate; import rikka.material.app.LocaleDelegate;
import rikka.material.app.MaterialActivity;
public class CrashReportActivity extends AppCompatActivity { public class CrashReportActivity extends MaterialActivity {
ActivityCrashReportBinding binding; ActivityCrashReportBinding binding;
@Override @Override
@ -59,7 +62,8 @@ public class CrashReportActivity extends AppCompatActivity {
var clipboard = getSystemService(ClipboardManager.class); var clipboard = getSystemService(ClipboardManager.class);
//Are there any devices without clipboard...? //Are there any devices without clipboard...?
if (clipboard != null) { if (clipboard != null) {
ClipData clip = ClipData.newPlainText("LSPManagerCrashInfo", getAllErrorDetailsFromIntent(getIntent())); ClipData clip = ClipData.newPlainText("LSPManagerCrashInfo",
getAllErrorDetailsFromIntent(getIntent()));
clipboard.setPrimaryClip(clip); clipboard.setPrimaryClip(clip);
Toast.makeText(this, R.string.crash_info_copied, Toast.LENGTH_LONG).show(); Toast.makeText(this, R.string.crash_info_copied, Toast.LENGTH_LONG).show();
} }
@ -68,6 +72,12 @@ public class CrashReportActivity extends AppCompatActivity {
} }
@Override
public void onApplyUserThemeResource(@NonNull Resources.Theme theme, boolean isDecorView) {
if (!DynamicColors.isDynamicColorAvailable())
theme.applyStyle(R.style.ThemeOverlay_MaterialBlue, true);
}
public String getAllErrorDetailsFromIntent(@NonNull Intent intent) { public String getAllErrorDetailsFromIntent(@NonNull Intent intent) {
String versionName = String.format(LocaleDelegate.getDefaultLocale(), "%s (%d)", BuildConfig.VERSION_NAME, BuildConfig.VERSION_CODE); String versionName = String.format(LocaleDelegate.getDefaultLocale(), "%s (%d)", BuildConfig.VERSION_NAME, BuildConfig.VERSION_CODE);

View File

@ -248,7 +248,7 @@ public class HomeFragment extends BaseFragment {
@NonNull @NonNull
@Override @Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
DialogAboutBinding binding = DialogAboutBinding.inflate(LayoutInflater.from(requireActivity()), null, false); DialogAboutBinding binding = DialogAboutBinding.inflate(getLayoutInflater(), null, false);
binding.designAboutTitle.setText(R.string.app_name); binding.designAboutTitle.setText(R.string.app_name);
binding.designAboutInfo.setMovementMethod(LinkMovementMethod.getInstance()); binding.designAboutInfo.setMovementMethod(LinkMovementMethod.getInstance());
binding.designAboutInfo.setTransformationMethod(new LinkTransformationMethod(requireActivity())); binding.designAboutInfo.setTransformationMethod(new LinkTransformationMethod(requireActivity()));

View File

@ -698,21 +698,21 @@ public class ModulesFragment extends BaseFragment implements ModuleUtil.ModuleLi
return 1; return 1;
} }
}).forEachOrdered(new Consumer<>() { }).forEachOrdered(new Consumer<>() {
private final HashSet<String> uniquer = new HashSet<>(); private final HashSet<String> uniquer = new HashSet<>();
@Override @Override
public void accept(ModuleUtil.InstalledModule module) { public void accept(ModuleUtil.InstalledModule module) {
if (isPick()) { if (isPick()) {
if (!uniquer.contains(module.packageName)) { if (!uniquer.contains(module.packageName)) {
uniquer.add(module.packageName); uniquer.add(module.packageName);
if (module.userId != getUser().id) if (module.userId != getUser().id)
tmpList.add(module);
}
} else if (module.userId == getUser().id) {
tmpList.add(module); tmpList.add(module);
}
} }
} else if (module.userId == getUser().id) { });
tmpList.add(module);
}
}
});
String queryStr = searchView != null ? searchView.getQuery().toString() : ""; String queryStr = searchView != null ? searchView.getQuery().toString() : "";
searchList = tmpList; searchList = tmpList;
runOnUiThread(() -> getFilter().filter(queryStr)); runOnUiThread(() -> getFilter().filter(queryStr));

View File

@ -447,9 +447,7 @@ public class RepoItemFragment extends BaseFragment implements RepoLoader.RepoLis
holder.openInBrowser.setOnClickListener(v -> NavUtil.startURL(requireActivity(), release.getUrl())); holder.openInBrowser.setOnClickListener(v -> NavUtil.startURL(requireActivity(), release.getUrl()));
List<ReleaseAsset> assets = release.getReleaseAssets(); List<ReleaseAsset> assets = release.getReleaseAssets();
if (assets != null && !assets.isEmpty()) { if (assets != null && !assets.isEmpty()) {
holder.viewAssets.setOnClickListener(v -> { holder.viewAssets.setOnClickListener(v -> DownloadDialog.create(requireActivity(), getParentFragmentManager(), assets));
DownloadDialog.create(requireActivity(), getParentFragmentManager(), assets);
});
} else { } else {
holder.viewAssets.setVisibility(View.GONE); holder.viewAssets.setVisibility(View.GONE);
} }

View File

@ -59,14 +59,6 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/manager_crashed" /> android:text="@string/manager_crashed" />
<com.google.android.material.textview.MaterialTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:ellipsize="end"
android:maxLines="2"
android:text="@string/manager_crashed_info" />
</LinearLayout> </LinearLayout>
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView

View File

@ -23,6 +23,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:clipToPadding="false" android:clipToPadding="false"
android:fontFamily="monospace" android:fontFamily="monospace"
android:hyphenationFrequency="fullFast"
android:paddingHorizontal="@dimen/m3_appbar_expanded_title_margin_horizontal" android:paddingHorizontal="@dimen/m3_appbar_expanded_title_margin_horizontal"
android:textColor="?attr/colorOnSurface" android:textColor="?attr/colorOnSurface"
android:textSize="12sp" /> android:textSize="12sp" />

View File

@ -76,7 +76,9 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:hyphenationFrequency="fullFast"
android:maxLines="6" android:maxLines="6"
android:minHeight="48dp"
android:scrollbars="none" android:scrollbars="none"
android:textAlignment="viewStart" android:textAlignment="viewStart"
android:textAppearance="?android:attr/textAppearanceSmall" android:textAppearance="?android:attr/textAppearanceSmall"
@ -111,10 +113,10 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:textAppearance="?android:attr/textAppearanceSmall"
app:layout_constrainedWidth="true"
android:textSize="12sp"
android:layout_marginTop="2dp" android:layout_marginTop="2dp"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textSize="12sp"
app:layout_constrainedWidth="true"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0" app:layout_constraintHorizontal_bias="0.0"

View File

@ -1,2 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>

View File

@ -218,7 +218,6 @@
<!-- CrashReportActivity --> <!-- CrashReportActivity -->
<string name="version_mismatch">The version of the LSPosed framework (%1$d) does not match manager (%2$d). Please reinstall LSPosed.</string> <string name="version_mismatch">The version of the LSPosed framework (%1$d) does not match manager (%2$d). Please reinstall LSPosed.</string>
<string name="manager_crashed">Manager crashed</string> <string name="manager_crashed">Manager crashed</string>
<string name="manager_crashed_info">report this to </string>
<string name="send_crash_info">Send crash info</string> <string name="send_crash_info">Send crash info</string>
<string name="crash_info_copied">Crash info copied to clipboard</string> <string name="crash_info_copied">Crash info copied to clipboard</string>
<string name="info_copied">Copied to clipboard</string> <string name="info_copied">Copied to clipboard</string>

View File

@ -85,10 +85,10 @@ public class ActivityManagerService {
resultCode, resultData, null, requiredPermissions, null, null, appOp, null, resultCode, resultData, null, requiredPermissions, null, null, appOp, null,
serialized, sticky, userId); serialized, sticky, userId);
} catch (NoSuchMethodError ignored) { } catch (NoSuchMethodError ignored) {
return am.broadcastIntentWithFeature(thread, callingFeatureId, intent, resolvedType, resultTo,
resultCode, resultData, null, requiredPermissions, null, appOp, null,
serialized, sticky, userId);
} }
return am.broadcastIntentWithFeature(thread, callingFeatureId, intent, resolvedType, resultTo,
resultCode, resultData, null, requiredPermissions, null, appOp, null,
serialized, sticky, userId);
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
return am.broadcastIntentWithFeature(thread, callingFeatureId, intent, resolvedType, resultTo, resultCode, resultData, map, requiredPermissions, appOp, options, serialized, sticky, userId); return am.broadcastIntentWithFeature(thread, callingFeatureId, intent, resolvedType, resultTo, resultCode, resultData, map, requiredPermissions, appOp, options, serialized, sticky, userId);
} else { } else {

View File

@ -44,7 +44,8 @@ public interface IActivityManager extends IInterface {
int broadcastIntentWithFeature(IApplicationThread caller, String callingFeatureId, int broadcastIntentWithFeature(IApplicationThread caller, String callingFeatureId,
Intent intent, String resolvedType, IIntentReceiver resultTo, Intent intent, String resolvedType, IIntentReceiver resultTo,
int resultCode, String resultData, Bundle resultExtras, int resultCode, String resultData, Bundle resultExtras,
String[] requiredPermissions, String[] excludedPermissions, int appOp, Bundle bOptions, String[] requiredPermissions, String[] excludedPermissions,
int appOp, Bundle bOptions,
boolean serialized, boolean sticky, int userId) throws RemoteException; boolean serialized, boolean sticky, int userId) throws RemoteException;
@RequiresApi(30) @RequiresApi(30)