Settings: show quick tile config if no primary is defined
This seems like a horrific set of hacks. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
parent
b0bb46382c
commit
ad16d2cc7b
@ -34,4 +34,6 @@ public class ConfigListPreference extends ListPreference {
|
||||
public ConfigListPreference(final Context context) {
|
||||
this(context, null);
|
||||
}
|
||||
|
||||
public void show() { showDialog(null); }
|
||||
}
|
||||
|
@ -30,7 +30,13 @@ public class QuickTileService extends TileService {
|
||||
else
|
||||
service.enable(config.getName());
|
||||
} else {
|
||||
startActivityAndCollapse(new Intent(this, ConfigActivity.class));
|
||||
if (service != null && service.getConfigs().isEmpty()) {
|
||||
startActivityAndCollapse(new Intent(this, ConfigActivity.class));
|
||||
} else {
|
||||
final Intent intent = new Intent(this, SettingsActivity.class);
|
||||
intent.putExtra("showQuickTile", true);
|
||||
startActivityAndCollapse(intent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -10,7 +10,11 @@ public class SettingsActivity extends Activity {
|
||||
protected void onCreate(final Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
final FragmentTransaction transaction = getFragmentManager().beginTransaction();
|
||||
transaction.replace(android.R.id.content, new SettingsFragment()).commit();
|
||||
final Bundle args = new Bundle();
|
||||
args.putBoolean("showQuickTile", getIntent().getBooleanExtra("showQuickTile", false));
|
||||
final SettingsFragment fragment = new SettingsFragment();
|
||||
fragment.setArguments(args);
|
||||
transaction.replace(android.R.id.content, fragment).commit();
|
||||
}
|
||||
|
||||
public static class SettingsFragment extends PreferenceFragment {
|
||||
@ -18,6 +22,8 @@ public class SettingsActivity extends Activity {
|
||||
public void onCreate(final Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
addPreferencesFromResource(R.xml.preferences);
|
||||
if (getArguments().getBoolean("showQuickTile"))
|
||||
((ConfigListPreference) findPreference("primary_config")).show();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -29,7 +29,7 @@
|
||||
<string name="persistent_keepalive">Persistent keepalive</string>
|
||||
<string name="placeholder_text">No configuration selected</string>
|
||||
<string name="pre_shared_key">Pre-shared key</string>
|
||||
<string name="primary_config">Primary configuration</string>
|
||||
<string name="primary_config">Quick tile configuration</string>
|
||||
<string name="primary_config_summary">This configuration will be controlled by the quick settings tile</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
|
Loading…
Reference in New Issue
Block a user