diff --git a/app/src/main/java/com/etesync/syncadapter/syncadapter/SyncNotification.kt b/app/src/main/java/com/etesync/syncadapter/syncadapter/SyncNotification.kt index f41861a0..8e09e14a 100644 --- a/app/src/main/java/com/etesync/syncadapter/syncadapter/SyncNotification.kt +++ b/app/src/main/java/com/etesync/syncadapter/syncadapter/SyncNotification.kt @@ -131,7 +131,7 @@ class SyncNotification(internal val context: Context, internal val notificationT WebViewActivity.openUrl(this, Constants.faqUri.buildUpon().encodedFragment("account-migration-error").build()) return } else { - detailsIntent = Intent(this, DebugInfoActivity::class.java) + detailsIntent = DebugInfoActivity.newIntent(this, this::class.toString()) } detailsIntent.putExtras(intent.extras!!) startActivity(detailsIntent) diff --git a/app/src/main/java/com/etesync/syncadapter/ui/DebugInfoActivity.kt b/app/src/main/java/com/etesync/syncadapter/ui/DebugInfoActivity.kt index fa8bb099..5a921dac 100644 --- a/app/src/main/java/com/etesync/syncadapter/ui/DebugInfoActivity.kt +++ b/app/src/main/java/com/etesync/syncadapter/ui/DebugInfoActivity.kt @@ -13,10 +13,7 @@ import android.accounts.Account import android.accounts.AccountManager import android.annotation.SuppressLint import android.app.LoaderManager -import android.content.AsyncTaskLoader -import android.content.ContentResolver -import android.content.Context -import android.content.Loader +import android.content.* import android.content.pm.PackageManager import android.os.Build import android.os.Bundle @@ -95,6 +92,7 @@ class DebugInfoActivity : BaseActivity(), LoaderManager.LoaderCallbacks @SuppressLint("MissingPermission") override fun loadInBackground(): String { var throwable: Throwable? = null + var caller: String? = null var logs: String? = null var authority: String? = null var account: Account? = null @@ -102,6 +100,7 @@ class DebugInfoActivity : BaseActivity(), LoaderManager.LoaderCallbacks if (extras != null) { throwable = extras.getSerializable(KEY_THROWABLE) as Throwable? + caller = extras.getString(KEY_CALLER) logs = extras.getString(KEY_LOGS) account = extras.getParcelable(KEY_ACCOUNT) authority = extras.getString(KEY_AUTHORITY) @@ -118,6 +117,8 @@ class DebugInfoActivity : BaseActivity(), LoaderManager.LoaderCallbacks report.append("Account name: ").append(account.name).append("\n") if (authority != null) report.append("Authority: ").append(authority).append("\n") + if (caller != null) + report.append("Debug activity source: ").append(caller).append("\n") if (throwable is HttpException) { val http = throwable as HttpException? @@ -233,10 +234,17 @@ class DebugInfoActivity : BaseActivity(), LoaderManager.LoaderCallbacks } companion object { + val KEY_CALLER = "caller" val KEY_THROWABLE = "throwable" val KEY_LOGS = "logs" val KEY_AUTHORITY = "authority" val KEY_PHASE = "phase" + + fun newIntent(context: Context?, caller: String): Intent { + val intent = Intent(context, DebugInfoActivity::class.java) + intent.putExtra(KEY_CALLER, caller) + return intent + } } } diff --git a/app/src/main/java/com/etesync/syncadapter/ui/ExceptionInfoFragment.kt b/app/src/main/java/com/etesync/syncadapter/ui/ExceptionInfoFragment.kt index 353d2630..a761837c 100644 --- a/app/src/main/java/com/etesync/syncadapter/ui/ExceptionInfoFragment.kt +++ b/app/src/main/java/com/etesync/syncadapter/ui/ExceptionInfoFragment.kt @@ -37,7 +37,7 @@ class ExceptionInfoFragment : DialogFragment() { .setTitle(title) .setMessage("${exception.javaClass.canonicalName}\n" + exception.localizedMessage) .setNegativeButton(R.string.exception_show_details) { _, _ -> - val intent = Intent(context, DebugInfoActivity::class.java) + val intent = DebugInfoActivity.newIntent(context, this::class.toString()) intent.putExtra(DebugInfoActivity.KEY_THROWABLE, exception) if (account != null) intent.putExtra(Constants.KEY_ACCOUNT, account) diff --git a/app/src/main/java/com/etesync/syncadapter/ui/setup/DetectConfigurationFragment.kt b/app/src/main/java/com/etesync/syncadapter/ui/setup/DetectConfigurationFragment.kt index 53ff2f3f..e0a74aa3 100644 --- a/app/src/main/java/com/etesync/syncadapter/ui/setup/DetectConfigurationFragment.kt +++ b/app/src/main/java/com/etesync/syncadapter/ui/setup/DetectConfigurationFragment.kt @@ -75,7 +75,7 @@ class DetectConfigurationFragment : DialogFragment(), LoaderManager.LoaderCallba .setIcon(R.drawable.ic_error_dark) .setMessage(R.string.login_wrong_username_or_password) .setNeutralButton(R.string.login_view_logs) { dialog, which -> - val intent = Intent(activity, DebugInfoActivity::class.java) + val intent = DebugInfoActivity.newIntent(context, this::class.toString()) intent.putExtra(DebugInfoActivity.KEY_LOGS, arguments!!.getString(KEY_LOGS)) startActivity(intent) } diff --git a/app/src/main/java/com/etesync/syncadapter/ui/setup/LoginCredentialsChangeFragment.kt b/app/src/main/java/com/etesync/syncadapter/ui/setup/LoginCredentialsChangeFragment.kt index ee1e829e..1e18dac7 100644 --- a/app/src/main/java/com/etesync/syncadapter/ui/setup/LoginCredentialsChangeFragment.kt +++ b/app/src/main/java/com/etesync/syncadapter/ui/setup/LoginCredentialsChangeFragment.kt @@ -88,7 +88,7 @@ class LoginCredentialsChangeFragment : DialogFragment(), LoaderManager.LoaderCal .setIcon(R.drawable.ic_error_dark) .setMessage(R.string.login_wrong_username_or_password) .setNeutralButton(R.string.login_view_logs) { dialog, which -> - val intent = Intent(activity, DebugInfoActivity::class.java) + val intent = DebugInfoActivity.newIntent(context, this::class.toString()) intent.putExtra(DebugInfoActivity.KEY_LOGS, arguments!!.getString(KEY_LOGS)) startActivity(intent) }