forked from jens/Automation
76 lines
3.4 KiB
Java
76 lines
3.4 KiB
Java
package com.jens.automation2;
|
|
|
|
import android.app.Activity;
|
|
import android.content.Intent;
|
|
import android.os.Bundle;
|
|
import android.provider.Settings;
|
|
import android.view.View;
|
|
import android.widget.Button;
|
|
import android.widget.RadioButton;
|
|
|
|
import androidx.annotation.Nullable;
|
|
|
|
public class ActivityManageActionLocationService extends Activity
|
|
{
|
|
RadioButton rbActionLocationServiceOff, rbActionLocationServiceSensorsOnly, rbActionLocationServiceBatterySaving, rbActionLocationServiceHighAccuracy;
|
|
Button bActionSetLocationServiceSave;
|
|
|
|
@Override
|
|
protected void onCreate(@Nullable Bundle savedInstanceState)
|
|
{
|
|
super.onCreate(savedInstanceState);
|
|
Miscellaneous.setDisplayLanguage(this);
|
|
setContentView(R.layout.activity_manage_action_location_service);
|
|
|
|
rbActionLocationServiceOff = (RadioButton) findViewById(R.id.rbActionLocationServiceOff);
|
|
rbActionLocationServiceSensorsOnly = (RadioButton)findViewById(R.id.rbActionLocationServiceSensorsOnly);
|
|
rbActionLocationServiceBatterySaving = (RadioButton)findViewById(R.id.rbActionLocationServiceBatterySaving);
|
|
rbActionLocationServiceHighAccuracy = (RadioButton)findViewById(R.id.rbActionLocationServiceHighAccuracy);
|
|
bActionSetLocationServiceSave = (Button) findViewById(R.id.bActionSetLocationServiceSave);
|
|
|
|
Intent input = getIntent();
|
|
|
|
if(input.hasExtra(ActivityManageRule.intentNameActionParameter2))
|
|
{
|
|
String[] params = input.getStringExtra(ActivityManageRule.intentNameActionParameter2).split(Action.actionParameter2Split);
|
|
int desiredState = Integer.parseInt(params[0]);
|
|
|
|
switch(desiredState)
|
|
{
|
|
case Settings.Secure.LOCATION_MODE_OFF:
|
|
rbActionLocationServiceOff.setChecked(true);
|
|
break;
|
|
case Settings.Secure.LOCATION_MODE_SENSORS_ONLY:
|
|
rbActionLocationServiceSensorsOnly.setChecked(true);
|
|
break;
|
|
case Settings.Secure.LOCATION_MODE_BATTERY_SAVING:
|
|
rbActionLocationServiceBatterySaving.setChecked(true);
|
|
break;
|
|
case Settings.Secure.LOCATION_MODE_HIGH_ACCURACY:
|
|
rbActionLocationServiceHighAccuracy.setChecked(true);
|
|
break;
|
|
}
|
|
}
|
|
|
|
bActionSetLocationServiceSave.setOnClickListener(new View.OnClickListener()
|
|
{
|
|
@Override
|
|
public void onClick(View view)
|
|
{
|
|
Intent response = new Intent();
|
|
if(rbActionLocationServiceOff.isChecked())
|
|
response.putExtra(ActivityManageRule.intentNameActionParameter2, String.valueOf(Settings.Secure.LOCATION_MODE_OFF));
|
|
else if(rbActionLocationServiceSensorsOnly.isChecked())
|
|
response.putExtra(ActivityManageRule.intentNameActionParameter2, String.valueOf(Settings.Secure.LOCATION_MODE_SENSORS_ONLY));
|
|
else if(rbActionLocationServiceBatterySaving.isChecked())
|
|
response.putExtra(ActivityManageRule.intentNameActionParameter2, String.valueOf(Settings.Secure.LOCATION_MODE_BATTERY_SAVING));
|
|
else
|
|
response.putExtra(ActivityManageRule.intentNameActionParameter2, String.valueOf(Settings.Secure.LOCATION_MODE_HIGH_ACCURACY));
|
|
|
|
setResult(RESULT_OK, response);
|
|
finish();
|
|
}
|
|
});
|
|
}
|
|
}
|