package dev.ukanth.ufirewall.plugin;
import android.annotation.TargetApi;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Build;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import java.util.List;
import dev.ukanth.ufirewall.R;
import dev.ukanth.ufirewall.util.G;
public class LocaleEdit extends AppCompatActivity {
//public static final String LOCALE_BRIGHTNESS = "dev.ukanth.ufirewall.plugin.LocaleEdit.ACTIVE_PROFLE";
private boolean mIsCancelled = false;
private int CUSTOM_PROFILE_ID = 100;
protected void onCreate(Bundle paramBundle) {
super.onCreate(paramBundle);
BundleScrubber.scrub(getIntent());
BundleScrubber.scrub(getIntent().getBundleExtra(
com.twofortyfouram.locale.Intent.EXTRA_BUNDLE));
setContentView(R.layout.tasker_profile);
Toolbar toolbar = (Toolbar) findViewById(R.id.tasker_toolbar);
setSupportActionBar(toolbar);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
//final int currentPosition = prefs.getInt("storedPosition", 0);
RadioButton tasker_enable = (RadioButton) findViewById(R.id.tasker_enable);
RadioButton tasker_disable = (RadioButton) findViewById(R.id.tasker_disable);
RadioButton button1 = (RadioButton) findViewById(R.id.defaultProfile);
RadioButton button2 = (RadioButton) findViewById(R.id.profile1);
RadioButton button3 = (RadioButton) findViewById(R.id.profile2);
RadioButton button4 = (RadioButton) findViewById(R.id.profile3);
RadioGroup profiles = (RadioGroup)findViewById(R.id.radioProfiles);
List<String> profilesList = G.getAdditionalProfiles();
//int textColor = Color.parseColor("#000000");
int counter = CUSTOM_PROFILE_ID;
for(String profile : profilesList) {
RadioButton rdbtn = new RadioButton(this);
rdbtn.setId(counter++);
rdbtn.setText(profile);
profiles.addView(rdbtn);
}
String name = prefs.getString("default", getString(R.string.defaultProfile));
button1.setText(name != null && name.length() == 0 ? getString(R.string.defaultProfile) : name);
name = prefs.getString("profile1", getString(R.string.profile1));
button2.setText(name != null && name.length() == 0 ? getString(R.string.profile1) : name);
name = prefs.getString("profile2", getString(R.string.profile2));
button3.setText(name != null && name.length() == 0 ? getString(R.string.profile2) : name);
name = prefs.getString("profile3", getString(R.string.profile3));
button4.setText(name != null && name.length() == 0 ? getString(R.string.profile3) : name);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
setupTitleApi11();
} else {
}
if (null == paramBundle) {
final Bundle forwardedBundle = getIntent().getBundleExtra(
com.twofortyfouram.locale.Intent.EXTRA_BUNDLE);
if (PluginBundleManager.isBundleValid(forwardedBundle)) {
String index = forwardedBundle.getString(PluginBundleManager.BUNDLE_EXTRA_STRING_MESSAGE);
if(index.contains("::")) {
index = index.split("::")[0];
}
String enable = getString(R.string.enable);
if(index != null ){
//int id = Integer.parseInt(index);
switch(index){
case "0" : tasker_enable.setChecked(true);break;
case "1": tasker_disable.setChecked(true);break;
case "2": button1.setChecked(true); break;
case "3": button2.setChecked(true); break;
case "4": button3.setChecked(true); break;
case "5": button4.setChecked(true); break;
default:
int diff = CUSTOM_PROFILE_ID + (Integer.parseInt(index) - 6);
RadioButton btn = (RadioButton) findViewById(diff);
if(btn !=null) {
btn.setChecked(true);
}
//logic here
}
/*if(id > 5) {
int diff = CUSTOM_PROFILE_ID + (id - 6);
RadioButton btn = (RadioButton) findViewById(diff);
if(btn !=null) {
btn.setChecked(true);
}
}*/
}
}
}
}
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
private void setupTitleApi11() {
CharSequence callingApplicationLabel = null;
try {
callingApplicationLabel = getPackageManager().getApplicationLabel(
getPackageManager().getApplicationInfo(getCallingPackage(),
0));
} catch (final NameNotFoundException e) {
}
if (null != callingApplicationLabel) {
setTitle(callingApplicationLabel);
}
}
protected void onPause() {
super.onPause();
}
@Override
public boolean onOptionsItemSelected(final MenuItem item)
{
switch (item.getItemId()) {
case android.R.id.home:
finish();
return true;
case R.id.twofortyfouram_locale_menu_dontsave:
mIsCancelled = true;
finish();
return true;
case R.id.twofortyfouram_locale_menu_save:
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public boolean onCreateOptionsMenu(final Menu menu)
{
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.twofortyfouram_locale_help_save_dontsave, menu);
return true;
}
@Override
public void finish() {
if (mIsCancelled)
{
setResult(RESULT_CANCELED);
} else {
RadioGroup group = (RadioGroup) findViewById(R.id.radioProfiles);
int selectedId = group.getCheckedRadioButtonId();
RadioButton radioButton = (RadioButton) findViewById(selectedId);
String action = radioButton.getText().toString();
int idx = group.indexOfChild(radioButton);
final Intent resultIntent = new Intent();
resultIntent.putExtra(com.twofortyfouram.locale.Intent.EXTRA_BUNDLE, PluginBundleManager.generateBundle(getApplicationContext(), idx + "::" + action));
resultIntent.putExtra(com.twofortyfouram.locale.Intent.EXTRA_STRING_BLURB, action);
setResult(RESULT_OK, resultIntent);
}
super.finish();
}
}