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.ClipboardManager;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Build;
import android.os.Bundle;
import android.widget.Toast;
import androidx.annotation.NonNull;
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.R;
@ -39,8 +41,9 @@ import org.lsposed.manager.util.NavUtil;
import java.time.LocalDateTime;
import rikka.material.app.LocaleDelegate;
import rikka.material.app.MaterialActivity;
public class CrashReportActivity extends AppCompatActivity {
public class CrashReportActivity extends MaterialActivity {
ActivityCrashReportBinding binding;
@Override
@ -59,7 +62,8 @@ public class CrashReportActivity extends AppCompatActivity {
var clipboard = getSystemService(ClipboardManager.class);
//Are there any devices without clipboard...?
if (clipboard != null) {
ClipData clip = ClipData.newPlainText("LSPManagerCrashInfo", getAllErrorDetailsFromIntent(getIntent()));
ClipData clip = ClipData.newPlainText("LSPManagerCrashInfo",
getAllErrorDetailsFromIntent(getIntent()));
clipboard.setPrimaryClip(clip);
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) {
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
@Override
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.designAboutInfo.setMovementMethod(LinkMovementMethod.getInstance());
binding.designAboutInfo.setTransformationMethod(new LinkTransformationMethod(requireActivity()));

View File

@ -698,21 +698,21 @@ public class ModulesFragment extends BaseFragment implements ModuleUtil.ModuleLi
return 1;
}
}).forEachOrdered(new Consumer<>() {
private final HashSet<String> uniquer = new HashSet<>();
private final HashSet<String> uniquer = new HashSet<>();
@Override
public void accept(ModuleUtil.InstalledModule module) {
if (isPick()) {
if (!uniquer.contains(module.packageName)) {
uniquer.add(module.packageName);
if (module.userId != getUser().id)
@Override
public void accept(ModuleUtil.InstalledModule module) {
if (isPick()) {
if (!uniquer.contains(module.packageName)) {
uniquer.add(module.packageName);
if (module.userId != getUser().id)
tmpList.add(module);
}
} else if (module.userId == getUser().id) {
tmpList.add(module);
}
}
} else if (module.userId == getUser().id) {
tmpList.add(module);
}
}
});
});
String queryStr = searchView != null ? searchView.getQuery().toString() : "";
searchList = tmpList;
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()));
List<ReleaseAsset> assets = release.getReleaseAssets();
if (assets != null && !assets.isEmpty()) {
holder.viewAssets.setOnClickListener(v -> {
DownloadDialog.create(requireActivity(), getParentFragmentManager(), assets);
});
holder.viewAssets.setOnClickListener(v -> DownloadDialog.create(requireActivity(), getParentFragmentManager(), assets));
} else {
holder.viewAssets.setVisibility(View.GONE);
}

View File

@ -59,14 +59,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
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>
<androidx.appcompat.widget.AppCompatImageView

View File

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

View File

@ -76,7 +76,9 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:hyphenationFrequency="fullFast"
android:maxLines="6"
android:minHeight="48dp"
android:scrollbars="none"
android:textAlignment="viewStart"
android:textAppearance="?android:attr/textAppearanceSmall"
@ -111,10 +113,10 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:textAppearance="?android:attr/textAppearanceSmall"
app:layout_constrainedWidth="true"
android:textSize="12sp"
android:layout_marginTop="2dp"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textSize="12sp"
app:layout_constrainedWidth="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
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 -->
<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_info">report this to </string>
<string name="send_crash_info">Send crash info</string>
<string name="crash_info_copied">Crash info 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,
serialized, sticky, userId);
} 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) {
return am.broadcastIntentWithFeature(thread, callingFeatureId, intent, resolvedType, resultTo, resultCode, resultData, map, requiredPermissions, appOp, options, serialized, sticky, userId);
} else {

View File

@ -44,7 +44,8 @@ public interface IActivityManager extends IInterface {
int broadcastIntentWithFeature(IApplicationThread caller, String callingFeatureId,
Intent intent, String resolvedType, IIntentReceiver resultTo,
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;
@RequiresApi(30)