Fix CrashReportActivity theme (#2226)
This commit is contained in:
parent
8f3684a9cb
commit
6ee21618a6
|
|
@ -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);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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()));
|
||||||
|
|
|
||||||
|
|
@ -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));
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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" />
|
||||||
|
|
|
||||||
|
|
@ -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"
|
||||||
|
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<resources></resources>
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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 {
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue