Loading app/src/main/AndroidManifest.xml +4 −0 Original line number Diff line number Diff line Loading @@ -98,6 +98,10 @@ </intent-filter> </activity> <activity android:name=".android.activity.ExceptionActivity" android:process=":error_activity" /> <receiver android:name=".android.appwidget.CreateNoteWidget" android:label="@string/widget_create_note"> Loading app/src/main/java/it/niedermann/owncloud/notes/android/activity/AboutActivity.java +6 −2 Original line number Diff line number Diff line package it.niedermann.owncloud.notes.android.activity; import android.os.Bundle; import com.google.android.material.tabs.TabLayout; import androidx.appcompat.app.AppCompatActivity; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentPagerAdapter; import androidx.viewpager.widget.ViewPager; import androidx.appcompat.app.AppCompatActivity; import com.google.android.material.tabs.TabLayout; import butterknife.BindView; import butterknife.ButterKnife; Loading @@ -14,6 +16,7 @@ import it.niedermann.owncloud.notes.R; import it.niedermann.owncloud.notes.android.fragment.about.AboutFragmentContributingTab; import it.niedermann.owncloud.notes.android.fragment.about.AboutFragmentCreditsTab; import it.niedermann.owncloud.notes.android.fragment.about.AboutFragmentLicenseTab; import it.niedermann.owncloud.notes.util.ExceptionHandler; public class AboutActivity extends AppCompatActivity { Loading @@ -25,6 +28,7 @@ public class AboutActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Thread.currentThread().setUncaughtExceptionHandler(new ExceptionHandler(this)); setContentView(R.layout.activity_about); ButterKnife.bind(this); Loading app/src/main/java/it/niedermann/owncloud/notes/android/activity/EditNoteActivity.java +2 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import it.niedermann.owncloud.notes.android.fragment.NotePreviewFragment; import it.niedermann.owncloud.notes.model.Category; import it.niedermann.owncloud.notes.model.CloudNote; import it.niedermann.owncloud.notes.model.DBNote; import it.niedermann.owncloud.notes.util.ExceptionHandler; import it.niedermann.owncloud.notes.util.NoteUtil; public class EditNoteActivity extends AppCompatActivity implements BaseNoteFragment.NoteFragmentListener { Loading @@ -36,6 +37,7 @@ public class EditNoteActivity extends AppCompatActivity implements BaseNoteFragm @Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); Thread.currentThread().setUncaughtExceptionHandler(new ExceptionHandler(this)); if (savedInstanceState == null) { launchNoteFragment(); Loading app/src/main/java/it/niedermann/owncloud/notes/android/activity/ExceptionActivity.java 0 → 100644 +63 −0 Original line number Diff line number Diff line package it.niedermann.owncloud.notes.android.activity; import android.content.ClipData; import android.content.ClipboardManager; import android.os.Bundle; import android.widget.TextView; import android.widget.Toast; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import java.io.PrintWriter; import java.io.StringWriter; import java.util.Objects; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; import it.niedermann.owncloud.notes.R; public class ExceptionActivity extends AppCompatActivity { Throwable throwable; @BindView(R.id.message) TextView message; @BindView(R.id.stacktrace) TextView stacktrace; public static final String KEY_THROWABLE = "T"; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { setContentView(R.layout.activity_exception); ButterKnife.bind(this); super.onCreate(savedInstanceState); throwable = ((Throwable) getIntent().getSerializableExtra(KEY_THROWABLE)); throwable.printStackTrace(); Objects.requireNonNull(getSupportActionBar()).setTitle(getString(R.string.simple_error)); this.message.setText(throwable.getMessage()); this.stacktrace.setText(getStacktraceOf(throwable)); } private String getStacktraceOf(Throwable e) { StringWriter sw = new StringWriter(); e.printStackTrace(new PrintWriter(sw)); return sw.toString(); } @OnClick(R.id.copy) void copyStacktraceToClipboard() { final ClipboardManager clipboardManager = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); ClipData clipData = ClipData.newPlainText(getString(R.string.simple_exception), this.stacktrace.getText()); clipboardManager.setPrimaryClip(clipData); Toast.makeText(this, R.string.copied_to_clipboard, Toast.LENGTH_SHORT).show(); } @OnClick(R.id.close) void close() { finish(); } } app/src/main/java/it/niedermann/owncloud/notes/android/activity/NotesListViewActivity.java +2 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ import it.niedermann.owncloud.notes.model.NavigationAdapter; import it.niedermann.owncloud.notes.persistence.LoadNotesListTask; import it.niedermann.owncloud.notes.persistence.NoteSQLiteOpenHelper; import it.niedermann.owncloud.notes.persistence.NoteServerSyncHelper; import it.niedermann.owncloud.notes.util.ExceptionHandler; import it.niedermann.owncloud.notes.util.ICallback; import it.niedermann.owncloud.notes.util.NoteUtil; import it.niedermann.owncloud.notes.util.NotesClientUtil; Loading Loading @@ -148,6 +149,7 @@ public class NotesListViewActivity extends AppCompatActivity implements ItemAdap @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Thread.currentThread().setUncaughtExceptionHandler(new ExceptionHandler(this)); // First Run Wizard if (!NoteServerSyncHelper.isConfigured(this)) { Intent settingsIntent = new Intent(this, SettingsActivity.class); Loading Loading
app/src/main/AndroidManifest.xml +4 −0 Original line number Diff line number Diff line Loading @@ -98,6 +98,10 @@ </intent-filter> </activity> <activity android:name=".android.activity.ExceptionActivity" android:process=":error_activity" /> <receiver android:name=".android.appwidget.CreateNoteWidget" android:label="@string/widget_create_note"> Loading
app/src/main/java/it/niedermann/owncloud/notes/android/activity/AboutActivity.java +6 −2 Original line number Diff line number Diff line package it.niedermann.owncloud.notes.android.activity; import android.os.Bundle; import com.google.android.material.tabs.TabLayout; import androidx.appcompat.app.AppCompatActivity; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentPagerAdapter; import androidx.viewpager.widget.ViewPager; import androidx.appcompat.app.AppCompatActivity; import com.google.android.material.tabs.TabLayout; import butterknife.BindView; import butterknife.ButterKnife; Loading @@ -14,6 +16,7 @@ import it.niedermann.owncloud.notes.R; import it.niedermann.owncloud.notes.android.fragment.about.AboutFragmentContributingTab; import it.niedermann.owncloud.notes.android.fragment.about.AboutFragmentCreditsTab; import it.niedermann.owncloud.notes.android.fragment.about.AboutFragmentLicenseTab; import it.niedermann.owncloud.notes.util.ExceptionHandler; public class AboutActivity extends AppCompatActivity { Loading @@ -25,6 +28,7 @@ public class AboutActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Thread.currentThread().setUncaughtExceptionHandler(new ExceptionHandler(this)); setContentView(R.layout.activity_about); ButterKnife.bind(this); Loading
app/src/main/java/it/niedermann/owncloud/notes/android/activity/EditNoteActivity.java +2 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import it.niedermann.owncloud.notes.android.fragment.NotePreviewFragment; import it.niedermann.owncloud.notes.model.Category; import it.niedermann.owncloud.notes.model.CloudNote; import it.niedermann.owncloud.notes.model.DBNote; import it.niedermann.owncloud.notes.util.ExceptionHandler; import it.niedermann.owncloud.notes.util.NoteUtil; public class EditNoteActivity extends AppCompatActivity implements BaseNoteFragment.NoteFragmentListener { Loading @@ -36,6 +37,7 @@ public class EditNoteActivity extends AppCompatActivity implements BaseNoteFragm @Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); Thread.currentThread().setUncaughtExceptionHandler(new ExceptionHandler(this)); if (savedInstanceState == null) { launchNoteFragment(); Loading
app/src/main/java/it/niedermann/owncloud/notes/android/activity/ExceptionActivity.java 0 → 100644 +63 −0 Original line number Diff line number Diff line package it.niedermann.owncloud.notes.android.activity; import android.content.ClipData; import android.content.ClipboardManager; import android.os.Bundle; import android.widget.TextView; import android.widget.Toast; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import java.io.PrintWriter; import java.io.StringWriter; import java.util.Objects; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; import it.niedermann.owncloud.notes.R; public class ExceptionActivity extends AppCompatActivity { Throwable throwable; @BindView(R.id.message) TextView message; @BindView(R.id.stacktrace) TextView stacktrace; public static final String KEY_THROWABLE = "T"; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { setContentView(R.layout.activity_exception); ButterKnife.bind(this); super.onCreate(savedInstanceState); throwable = ((Throwable) getIntent().getSerializableExtra(KEY_THROWABLE)); throwable.printStackTrace(); Objects.requireNonNull(getSupportActionBar()).setTitle(getString(R.string.simple_error)); this.message.setText(throwable.getMessage()); this.stacktrace.setText(getStacktraceOf(throwable)); } private String getStacktraceOf(Throwable e) { StringWriter sw = new StringWriter(); e.printStackTrace(new PrintWriter(sw)); return sw.toString(); } @OnClick(R.id.copy) void copyStacktraceToClipboard() { final ClipboardManager clipboardManager = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); ClipData clipData = ClipData.newPlainText(getString(R.string.simple_exception), this.stacktrace.getText()); clipboardManager.setPrimaryClip(clipData); Toast.makeText(this, R.string.copied_to_clipboard, Toast.LENGTH_SHORT).show(); } @OnClick(R.id.close) void close() { finish(); } }
app/src/main/java/it/niedermann/owncloud/notes/android/activity/NotesListViewActivity.java +2 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ import it.niedermann.owncloud.notes.model.NavigationAdapter; import it.niedermann.owncloud.notes.persistence.LoadNotesListTask; import it.niedermann.owncloud.notes.persistence.NoteSQLiteOpenHelper; import it.niedermann.owncloud.notes.persistence.NoteServerSyncHelper; import it.niedermann.owncloud.notes.util.ExceptionHandler; import it.niedermann.owncloud.notes.util.ICallback; import it.niedermann.owncloud.notes.util.NoteUtil; import it.niedermann.owncloud.notes.util.NotesClientUtil; Loading Loading @@ -148,6 +149,7 @@ public class NotesListViewActivity extends AppCompatActivity implements ItemAdap @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Thread.currentThread().setUncaughtExceptionHandler(new ExceptionHandler(this)); // First Run Wizard if (!NoteServerSyncHelper.isConfigured(this)) { Intent settingsIntent = new Intent(this, SettingsActivity.class); Loading