feedback
This commit is contained in:
parent
3e6c627712
commit
11e663be67
|
@ -1,8 +1,12 @@
|
||||||
package org.torproject.android.ui.hs;
|
package org.torproject.android.ui.hs;
|
||||||
|
|
||||||
|
|
||||||
|
import android.Manifest;
|
||||||
|
import android.annotation.SuppressLint;
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
import android.database.ContentObserver;
|
import android.database.ContentObserver;
|
||||||
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.support.design.widget.FloatingActionButton;
|
import android.support.design.widget.FloatingActionButton;
|
||||||
|
@ -82,6 +86,10 @@ public class HiddenServicesActivity extends AppCompatActivity {
|
||||||
Bundle arguments = new Bundle();
|
Bundle arguments = new Bundle();
|
||||||
arguments.putString("port", port.getText().toString());
|
arguments.putString("port", port.getText().toString());
|
||||||
arguments.putString("onion", onion.getText().toString());
|
arguments.putString("onion", onion.getText().toString());
|
||||||
|
boolean has_write_permission = true;
|
||||||
|
if (usesRuntimePermissions())
|
||||||
|
has_write_permission = hasPermission();
|
||||||
|
arguments.putBoolean("has_write_permissions", has_write_permission);
|
||||||
|
|
||||||
HSActionsDialog dialog = new HSActionsDialog();
|
HSActionsDialog dialog = new HSActionsDialog();
|
||||||
dialog.setArguments(arguments);
|
dialog.setArguments(arguments);
|
||||||
|
@ -89,4 +97,13 @@ public class HiddenServicesActivity extends AppCompatActivity {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean usesRuntimePermissions() {
|
||||||
|
return (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP_MR1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressLint("NewApi")
|
||||||
|
private boolean hasPermission() {
|
||||||
|
return (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,10 +32,16 @@ public class HSActionsDialog extends DialogFragment {
|
||||||
.setTitle(R.string.hidden_services)
|
.setTitle(R.string.hidden_services)
|
||||||
.create();
|
.create();
|
||||||
|
|
||||||
Button save = (Button) dialog_view.findViewById(R.id.btn_hs_backup);
|
Button backup = (Button) dialog_view.findViewById(R.id.btn_hs_backup);
|
||||||
save.setOnClickListener(new View.OnClickListener() {
|
backup.setOnClickListener(new View.OnClickListener() {
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
Context mContext = v.getContext();
|
Context mContext = v.getContext();
|
||||||
|
|
||||||
|
if (!arguments.getBoolean("has_write_permissions")) {
|
||||||
|
Toast.makeText(mContext, R.string.please_grant_permissions_for_external_storage, Toast.LENGTH_LONG).show();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
HiddenServiceUtils hsutils = new HiddenServiceUtils(mContext);
|
HiddenServiceUtils hsutils = new HiddenServiceUtils(mContext);
|
||||||
String backupPath = hsutils.createOnionBackup(Integer.parseInt(arguments.getString("port")));
|
String backupPath = hsutils.createOnionBackup(Integer.parseInt(arguments.getString("port")));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue