diff options
author | Alex Ning <chineseperson5@gmail.com> | 2020-07-08 04:32:49 +0000 |
---|---|---|
committer | Alex Ning <chineseperson5@gmail.com> | 2020-07-08 04:32:49 +0000 |
commit | 318b11da01ad843ad63d82b4ac87eb1eaa84b9dc (patch) | |
tree | e4cd0a2a589fe8a7425b4a1159e7b7c0be4f10b2 /app/src/main | |
parent | 406d82ef52134fd460de5d88278fc131921acef5 (diff) | |
download | infinity-for-reddit-318b11da01ad843ad63d82b4ac87eb1eaa84b9dc.tar infinity-for-reddit-318b11da01ad843ad63d82b4ac87eb1eaa84b9dc.tar.gz infinity-for-reddit-318b11da01ad843ad63d82b4ac87eb1eaa84b9dc.tar.bz2 infinity-for-reddit-318b11da01ad843ad63d82b4ac87eb1eaa84b9dc.tar.lz infinity-for-reddit-318b11da01ad843ad63d82b4ac87eb1eaa84b9dc.tar.xz infinity-for-reddit-318b11da01ad843ad63d82b4ac87eb1eaa84b9dc.tar.zst infinity-for-reddit-318b11da01ad843ad63d82b4ac87eb1eaa84b9dc.zip |
View crash reports in Settings -> About -> Crash Reports.
Diffstat (limited to '')
9 files changed, 134 insertions, 4 deletions
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4d30b837..ca502970 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -328,6 +328,16 @@ android:resource="@xml/file_paths" /> </provider> + <provider + android:name="androidx.startup.InitializationProvider" + android:authorities="${applicationId}.androidx-startup" + android:exported="false" + tools:node="merge"> + <meta-data + android:name="com.crazylegend.crashyreporter.initializer.CrashyInitializer" + android:value="androidx.startup" /> + </provider> + <service android:name=".Service.SubmitPostService" android:enabled="true" diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Message/ComposeMessage.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Message/ComposeMessage.java index 019e1207..ff40ccc8 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Message/ComposeMessage.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Message/ComposeMessage.java @@ -1,7 +1,5 @@ package ml.docilealligator.infinityforreddit.Message; -import android.util.Log; - import androidx.annotation.NonNull; import java.util.HashMap; @@ -41,7 +39,6 @@ public class ComposeMessage { composeMessageListener.composeMessageFailed(errorMessage); } }); - Log.i("asfsdaf", "s " + response.body()); } else { composeMessageListener.composeMessageFailed(response.message()); } diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/CrashReportsFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/CrashReportsFragment.java new file mode 100644 index 00000000..04bdc0e9 --- /dev/null +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/CrashReportsFragment.java @@ -0,0 +1,54 @@ +package ml.docilealligator.infinityforreddit.Settings; + +import android.app.Activity; +import android.content.Context; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.crazylegend.crashyreporter.CrashyReporter; + +import butterknife.BindView; +import butterknife.ButterKnife; +import ml.docilealligator.infinityforreddit.R; + +public class CrashReportsFragment extends Fragment { + + @BindView(R.id.recycler_view_crash_reports_fragment) + RecyclerView recyclerView; + private Activity activity; + private CrashReportsRecyclerViewAdapter adapter; + private LinearLayoutManager linearLayoutManager; + + public CrashReportsFragment() { + // Required empty public constructor + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + View rootView = inflater.inflate(R.layout.fragment_crash_reports, container, false); + + ButterKnife.bind(this, rootView); + + adapter = new CrashReportsRecyclerViewAdapter(CrashyReporter.INSTANCE.getLogsAsStrings()); + linearLayoutManager = new LinearLayoutManager(activity); + recyclerView.setLayoutManager(linearLayoutManager); + recyclerView.setAdapter(adapter); + + return rootView; + } + + @Override + public void onAttach(@NonNull Context context) { + super.onAttach(context); + this.activity = (Activity) context; + } +}
\ No newline at end of file diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/CrashReportsRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/CrashReportsRecyclerViewAdapter.java new file mode 100644 index 00000000..47629585 --- /dev/null +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/CrashReportsRecyclerViewAdapter.java @@ -0,0 +1,46 @@ +package ml.docilealligator.infinityforreddit.Settings; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import java.util.List; + +import ml.docilealligator.infinityforreddit.R; + +class CrashReportsRecyclerViewAdapter extends RecyclerView.Adapter<CrashReportsRecyclerViewAdapter.CrashReportViewHolder> { + private List<String> crashReports; + + public CrashReportsRecyclerViewAdapter(List<String> crashReports) { + this.crashReports = crashReports; + } + + @NonNull + @Override + public CrashReportViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + return new CrashReportViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_crash_report, parent, false)); + } + + @Override + public void onBindViewHolder(@NonNull CrashReportViewHolder holder, int position) { + holder.crashReportTextView.setText(crashReports.get(holder.getAdapterPosition())); + } + + @Override + public int getItemCount() { + return crashReports == null ? 0 : crashReports.size(); + } + + class CrashReportViewHolder extends RecyclerView.ViewHolder { + TextView crashReportTextView; + + public CrashReportViewHolder(@NonNull View itemView) { + super(itemView); + crashReportTextView = (TextView) itemView; + } + } +} diff --git a/app/src/main/res/layout/fragment_acknowledgement.xml b/app/src/main/res/layout/fragment_acknowledgement.xml index b6d17db9..716c69e8 100644 --- a/app/src/main/res/layout/fragment_acknowledgement.xml +++ b/app/src/main/res/layout/fragment_acknowledgement.xml @@ -3,4 +3,4 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/recycler_view_acknowledgement_fragment" - tools:context="ml.docilealligator.infinityforreddit.Settings.AcknowledgementFragment"/> + tools:context="ml.docilealligator.infinityforreddit.Settings.AcknowledgementFragment" /> diff --git a/app/src/main/res/layout/fragment_crash_reports.xml b/app/src/main/res/layout/fragment_crash_reports.xml new file mode 100644 index 00000000..2c768908 --- /dev/null +++ b/app/src/main/res/layout/fragment_crash_reports.xml @@ -0,0 +1,6 @@ +<androidx.recyclerview.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:id="@+id/recycler_view_crash_reports_fragment" + tools:context="ml.docilealligator.infinityforreddit.Settings.CrashReportsFragment" />
\ No newline at end of file diff --git a/app/src/main/res/layout/item_crash_report.xml b/app/src/main/res/layout/item_crash_report.xml new file mode 100644 index 00000000..e8b46fd6 --- /dev/null +++ b/app/src/main/res/layout/item_crash_report.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<TextView + xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:textColor="?attr/primaryTextColor" + android:textSize="?attr/font_16" + android:fontFamily="?attr/font_family" />
\ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0f53debb..23c3e314 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -425,6 +425,8 @@ <string name="settings_share_title">Share</string> <string name="settings_share_summary">Share this app to other people if you enjoy it</string> <string name="settings_version_title">Infinity For Reddit</string> + <string name="settings_crash_reports_title">Crash Reports</string> + <string name="settings_crash_reports_summary">See the error logs and send them to me when you report bugs</string> <string name="settings_version_summary">Version %s</string> <string name="settings_category_customization_title">Customization</string> <string name="settings_customize_light_theme_title">Light Theme</string> @@ -828,5 +830,7 @@ <string name="load_video_in_redgifs">Try loading the video on Redgifs</string> <string name="top_score">%1$s pts</string> + <!-- TODO: Remove or change this placeholder text --> + <string name="hello_blank_fragment">Hello blank fragment</string> </resources> diff --git a/app/src/main/res/xml/about_preferences.xml b/app/src/main/res/xml/about_preferences.xml index a73f9aaa..6561eec3 100644 --- a/app/src/main/res/xml/about_preferences.xml +++ b/app/src/main/res/xml/about_preferences.xml @@ -46,6 +46,11 @@ app:summary="@string/settings_share_summary" /> <Preference + app:title="@string/settings_crash_reports_title" + app:summary="@string/settings_crash_reports_summary" + app:fragment="ml.docilealligator.infinityforreddit.Settings.CrashReportsFragment" /> + + <Preference android:key="version" app:title="@string/settings_version_title" app:summary="@string/settings_version_summary" /> |