Advertisement
Pavle_nis

autootg2

Feb 9th, 2017
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.48 KB | None | 0 0
  1. private void getState()
  2.     {
  3.         SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
  4.         boolean auto_otg = sharedPrefs.getBoolean("Enable Auto OTG",false);
  5.  
  6.         cmd = "cat /sys/kernel/debug/regulator/8226_smbbp_otg/enable\n";
  7.         state = Integer.parseInt(execCommand(cmd, true));
  8.         boolean isEnabled = (state == 1);
  9. //        otgSwitch.setChecked(isEnabled);
  10.         if(auto_otg)
  11.         {
  12.             if (isCableConnected)
  13.             {
  14.                 button.setText("OTG Enabled");
  15.                 button.setBackgroundColor(Color.GREEN);
  16.                 state = 1 - state;
  17.                 String cmd = "echo \"" + state + "\" >> /sys/kernel/debug/regulator/8226_smbbp_otg/enable\n";
  18.                 execCommand(cmd, false);
  19.             }
  20.             else
  21.             {
  22.                 button.setText("OTG Disabled");
  23.                 button.setBackgroundColor(Color.RED);
  24.                 state = 1 - state;
  25.                 String cmd = "echo \"" + state + "\" >> /sys/kernel/debug/regulator/8226_smbbp_otg/enable\n";
  26.                 execCommand(cmd, false);
  27.             }
  28.         }
  29.     }
  30.  
  31. private String execCommand(String cmd, boolean isOutputNeeded) {
  32.         String result = null;
  33.         try {
  34.             DataOutputStream os = new DataOutputStream(suProcess.getOutputStream());
  35.             BufferedReader osRes = new BufferedReader(new InputStreamReader(suProcess.getInputStream()));
  36.             if (null != os && null != osRes) {
  37.                 os.writeBytes(cmd);
  38.                 os.flush();
  39.                 if (isOutputNeeded) {
  40.                     result = osRes.readLine();
  41.                 }
  42.             }
  43.         } catch (IOException ioe) {
  44.             Toast.makeText(this, "Error", Toast.LENGTH_SHORT).show();
  45.             finish();
  46.         }
  47.         catch(NullPointerException npe){
  48.             Toast.makeText(this, "Error, app requires root access", Toast.LENGTH_LONG).show();
  49.             finish();
  50.         }
  51.         return result;
  52.     }
  53.  
  54. @Override
  55.     protected void onResume()
  56.     {
  57.         Log.e("###", "Resumed");
  58.  
  59.         super.onResume();
  60.  
  61.         SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
  62.         boolean auto_otg = sharedPrefs.getBoolean("Enable Auto OTG",false);
  63.  
  64.         if (mServiceRunning)
  65.             updateState();
  66.  
  67.         OtgService.setOnStatusChangedListener(new OtgService.OnStatusChangedListener()
  68.         {
  69.             @Override
  70.             public void onStatusChanged(boolean status)
  71.             {
  72.                 cableStateWasChanged(status);
  73.             }
  74.         });
  75.  
  76.         if(auto_otg)
  77.         getState();
  78.     }
  79.  
  80. @Override
  81.     protected void onPause()
  82.     {
  83.         Log.e("###", "Paused");
  84.         super.onPause();
  85.  
  86.         SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
  87.         boolean auto_otg = sharedPrefs.getBoolean("Enable Auto OTG",false);
  88.  
  89.         OtgService.clearListener();
  90.  
  91.         if(auto_otg)
  92.         {
  93.             if (isCableConnected)
  94.             {
  95.                 state = 1;
  96.                 String cmd = "echo \"" + state + "\" >> /sys/kernel/debug/regulator/8226_smbbp_otg/enable\n";
  97.                 execCommand(cmd, false);
  98.             } else
  99.             {
  100.                 state = 0;
  101.                 String cmd = "echo \"" + state + "\" >> /sys/kernel/debug/regulator/8226_smbbp_otg/enable\n";
  102.                 execCommand(cmd, false);
  103.             }
  104.         }
  105.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement