import android.content.pm.PackageManager
import android.os.Build
import android.os.Bundle
-import android.view.MenuItem
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.Toolbar
import com.stoutner.privacycell.services.RealtimeMonitoringService
class SettingsActivity : AppCompatActivity(), NotificationPermissionDialogListener {
+ // Declare the class variables.
+ private lateinit var settingsFragment: SettingsFragment
+
override fun onCreate(savedInstanceState: Bundle?) {
// Run the default commands.
super.onCreate(savedInstanceState)
// Display the home arrow on the action bar.
actionBar.setDisplayHomeAsUpEnabled(true)
- // Load the preferences fragment.
- supportFragmentManager.beginTransaction().replace(R.id.preferences_framelayout, SettingsFragment()).commit()
+ // Instantiate the settings fragment.
+ settingsFragment = SettingsFragment()
+
+ // Load the settings fragment.
+ supportFragmentManager.beginTransaction().replace(R.id.preferences_framelayout, settingsFragment).commitNow()
}
override fun onCloseNotificationPermissionDialog() {
}
}
- override fun onOptionsItemSelected(item: MenuItem): Boolean {
- // As there is only one option, go back.
- onBackPressed()
-
- // Consume the event.
- return true
- }
-
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
// Run the default commands.
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { // The notification permission was granted.
// Start the realtime monitoring service.
startService(Intent(this, RealtimeMonitoringService::class.java))
+
+ // Update the realtime monitoring preference summary.
+ settingsFragment.updateRealtimeMonitoringSummary()
}
}
}