Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void getState()
- {
- SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
- boolean auto_otg = sharedPrefs.getBoolean("Enable Auto OTG",false);
- cmd = "cat /sys/kernel/debug/regulator/8226_smbbp_otg/enable\n";
- state = Integer.parseInt(execCommand(cmd, true));
- boolean isEnabled = (state == 1);
- // otgSwitch.setChecked(isEnabled);
- if(auto_otg)
- {
- if (isCableConnected)
- {
- button.setText("OTG Enabled");
- button.setBackgroundColor(Color.GREEN);
- state = 1 - state;
- String cmd = "echo \"" + state + "\" >> /sys/kernel/debug/regulator/8226_smbbp_otg/enable\n";
- execCommand(cmd, false);
- }
- else
- {
- button.setText("OTG Disabled");
- button.setBackgroundColor(Color.RED);
- state = 1 - state;
- String cmd = "echo \"" + state + "\" >> /sys/kernel/debug/regulator/8226_smbbp_otg/enable\n";
- execCommand(cmd, false);
- }
- }
- }
- private String execCommand(String cmd, boolean isOutputNeeded) {
- String result = null;
- try {
- DataOutputStream os = new DataOutputStream(suProcess.getOutputStream());
- BufferedReader osRes = new BufferedReader(new InputStreamReader(suProcess.getInputStream()));
- if (null != os && null != osRes) {
- os.writeBytes(cmd);
- os.flush();
- if (isOutputNeeded) {
- result = osRes.readLine();
- }
- }
- } catch (IOException ioe) {
- Toast.makeText(this, "Error", Toast.LENGTH_SHORT).show();
- finish();
- }
- catch(NullPointerException npe){
- Toast.makeText(this, "Error, app requires root access", Toast.LENGTH_LONG).show();
- finish();
- }
- return result;
- }
- @Override
- protected void onResume()
- {
- Log.e("###", "Resumed");
- super.onResume();
- SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
- boolean auto_otg = sharedPrefs.getBoolean("Enable Auto OTG",false);
- if (mServiceRunning)
- updateState();
- OtgService.setOnStatusChangedListener(new OtgService.OnStatusChangedListener()
- {
- @Override
- public void onStatusChanged(boolean status)
- {
- cableStateWasChanged(status);
- }
- });
- if(auto_otg)
- getState();
- }
- @Override
- protected void onPause()
- {
- Log.e("###", "Paused");
- super.onPause();
- SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
- boolean auto_otg = sharedPrefs.getBoolean("Enable Auto OTG",false);
- OtgService.clearListener();
- if(auto_otg)
- {
- if (isCableConnected)
- {
- state = 1;
- String cmd = "echo \"" + state + "\" >> /sys/kernel/debug/regulator/8226_smbbp_otg/enable\n";
- execCommand(cmd, false);
- } else
- {
- state = 0;
- String cmd = "echo \"" + state + "\" >> /sys/kernel/debug/regulator/8226_smbbp_otg/enable\n";
- execCommand(cmd, false);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement