simplified code that invokes the export logs service
This commit is contained in:
parent
f0dbcce58f
commit
43f5dfe174
|
@ -1,36 +0,0 @@
|
||||||
package eu.siacs.conversations.ui;
|
|
||||||
|
|
||||||
import android.Manifest;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.content.pm.PackageManager;
|
|
||||||
import android.os.Build;
|
|
||||||
import android.preference.Preference;
|
|
||||||
import android.util.AttributeSet;
|
|
||||||
|
|
||||||
import eu.siacs.conversations.services.ExportLogsService;
|
|
||||||
|
|
||||||
public class ExportLogsPreference extends Preference {
|
|
||||||
|
|
||||||
public ExportLogsPreference(Context context, AttributeSet attrs, int defStyleAttr) {
|
|
||||||
super(context, attrs, defStyleAttr);
|
|
||||||
}
|
|
||||||
|
|
||||||
public ExportLogsPreference(Context context, AttributeSet attrs) {
|
|
||||||
super(context, attrs);
|
|
||||||
}
|
|
||||||
|
|
||||||
public ExportLogsPreference(Context context) {
|
|
||||||
super(context);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void onClick() {
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
|
|
||||||
&& getContext().checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
final Intent startIntent = new Intent(getContext(), ExportLogsService.class);
|
|
||||||
getContext().startService(startIntent);
|
|
||||||
super.onClick();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -149,7 +149,9 @@ public class SettingsActivity extends XmppActivity implements
|
||||||
exportLogsPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
exportLogsPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceClick(Preference preference) {
|
public boolean onPreferenceClick(Preference preference) {
|
||||||
hasStoragePermission(REQUEST_WRITE_LOGS);
|
if (hasStoragePermission(REQUEST_WRITE_LOGS)) {
|
||||||
|
startExport();
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -273,13 +275,17 @@ public class SettingsActivity extends XmppActivity implements
|
||||||
if (grantResults.length > 0)
|
if (grantResults.length > 0)
|
||||||
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
|
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
|
||||||
if (requestCode == REQUEST_WRITE_LOGS) {
|
if (requestCode == REQUEST_WRITE_LOGS) {
|
||||||
getApplicationContext().startService(new Intent(getApplicationContext(), ExportLogsService.class));
|
startExport();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Toast.makeText(this, R.string.no_storage_permission, Toast.LENGTH_SHORT).show();
|
Toast.makeText(this, R.string.no_storage_permission, Toast.LENGTH_SHORT).show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void startExport() {
|
||||||
|
startService(new Intent(getApplicationContext(), ExportLogsService.class));
|
||||||
|
}
|
||||||
|
|
||||||
private void displayToast(final String msg) {
|
private void displayToast(final String msg) {
|
||||||
runOnUiThread(new Runnable() {
|
runOnUiThread(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -257,7 +257,7 @@
|
||||||
android:key="keep_foreground_service"
|
android:key="keep_foreground_service"
|
||||||
android:summary="@string/pref_keep_foreground_service_summary"
|
android:summary="@string/pref_keep_foreground_service_summary"
|
||||||
android:title="@string/pref_keep_foreground_service"/>
|
android:title="@string/pref_keep_foreground_service"/>
|
||||||
<eu.siacs.conversations.ui.ExportLogsPreference
|
<Preference
|
||||||
android:key="export_logs"
|
android:key="export_logs"
|
||||||
android:summary="@string/pref_export_logs_summary"
|
android:summary="@string/pref_export_logs_summary"
|
||||||
android:title="@string/pref_export_logs"/>
|
android:title="@string/pref_export_logs"/>
|
||||||
|
|
Loading…
Reference in New Issue