From 0119e703ff4a8f3201610c2866702f7f92da0b26 Mon Sep 17 00:00:00 2001 From: Javier Date: Sun, 26 Jul 2020 18:11:10 +0200 Subject: initial import --- .../javispedro/autobluetether/MainActivity.java | 68 ++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 app/src/main/java/com/javispedro/autobluetether/MainActivity.java (limited to 'app/src/main/java/com/javispedro/autobluetether/MainActivity.java') diff --git a/app/src/main/java/com/javispedro/autobluetether/MainActivity.java b/app/src/main/java/com/javispedro/autobluetether/MainActivity.java new file mode 100644 index 0000000..079985c --- /dev/null +++ b/app/src/main/java/com/javispedro/autobluetether/MainActivity.java @@ -0,0 +1,68 @@ +package com.javispedro.autobluetether; + +import android.content.Intent; +import android.net.Uri; +import android.os.Bundle; +import android.provider.Settings; +import android.util.Log; +import android.view.View; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentTransaction; + +public class MainActivity extends AppCompatActivity { + private final static String TAG = "MainActivity"; + + private SystemSettingsFragment systemSettingsFragment; + private DeviceFragment deviceFragment; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + FragmentManager manager = getSupportFragmentManager(); + systemSettingsFragment = (SystemSettingsFragment) manager.findFragmentById(R.id.fragmentSystemSettings); + deviceFragment = (DeviceFragment) manager.findFragmentById(R.id.fragmentDeviceList); + } + + @Override + protected void onResume() { + super.onResume(); + refreshSystemSettingsFragmentVisible(); + refreshDeviceList(); + } + + @Override + protected void onDestroy() { + deviceFragment = null; + systemSettingsFragment = null; + super.onDestroy(); + } + + private void refreshSystemSettingsFragmentVisible() { + boolean can_write_settings = Settings.System.canWrite(this); + Log.d(TAG, "can_write_settings: " + can_write_settings); + setSystemSettingsFragmentVisible(!can_write_settings); + } + + private void refreshDeviceList() { + deviceFragment.refreshList(); + } + + private void setSystemSettingsFragmentVisible(boolean visible) { + FragmentTransaction tx = getSupportFragmentManager().beginTransaction(); + if (visible) { + tx.show(systemSettingsFragment); + } else { + tx.hide(systemSettingsFragment); + } + tx.commit(); + } + + public void manageWriteSettings(View view) { + Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS); + intent.setData(Uri.parse("package:" + getPackageName())); + startActivity(intent); + } +} \ No newline at end of file -- cgit v1.2.3