feedback
This commit is contained in:
		
							parent
							
								
									3e6c627712
								
							
						
					
					
						commit
						11e663be67
					
				| 
						 | 
				
			
			@ -1,8 +1,12 @@
 | 
			
		|||
package org.torproject.android.ui.hs;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import android.Manifest;
 | 
			
		||||
import android.annotation.SuppressLint;
 | 
			
		||||
import android.content.ContentResolver;
 | 
			
		||||
import android.content.pm.PackageManager;
 | 
			
		||||
import android.database.ContentObserver;
 | 
			
		||||
import android.os.Build;
 | 
			
		||||
import android.os.Bundle;
 | 
			
		||||
import android.os.Handler;
 | 
			
		||||
import android.support.design.widget.FloatingActionButton;
 | 
			
		||||
| 
						 | 
				
			
			@ -82,6 +86,10 @@ public class HiddenServicesActivity extends AppCompatActivity {
 | 
			
		|||
                Bundle arguments = new Bundle();
 | 
			
		||||
                arguments.putString("port", port.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();
 | 
			
		||||
                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)
 | 
			
		||||
                .create();
 | 
			
		||||
 | 
			
		||||
        Button save = (Button) dialog_view.findViewById(R.id.btn_hs_backup);
 | 
			
		||||
        save.setOnClickListener(new View.OnClickListener() {
 | 
			
		||||
        Button backup = (Button) dialog_view.findViewById(R.id.btn_hs_backup);
 | 
			
		||||
        backup.setOnClickListener(new View.OnClickListener() {
 | 
			
		||||
            public void onClick(View v) {
 | 
			
		||||
                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);
 | 
			
		||||
                String backupPath = hsutils.createOnionBackup(Integer.parseInt(arguments.getString("port")));
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue