improvements to app selection UI for better layout and error handling
|
@ -53,11 +53,11 @@ public class AppManager extends AppCompatActivity implements OnCheckedChangeList
|
||||||
setTitle(R.string.apps_mode);
|
setTitle(R.string.apps_mode);
|
||||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||||
|
|
||||||
Button buttonSelectAll, buttonSelectNone, buttonInvert;
|
View buttonSelectAll, buttonSelectNone, buttonInvert;
|
||||||
|
|
||||||
buttonSelectAll = (Button) findViewById(R.id.button_proxy_all);
|
buttonSelectAll = findViewById(R.id.button_proxy_all);
|
||||||
buttonSelectNone = (Button) findViewById(R.id.button_proxy_none);
|
buttonSelectNone = findViewById(R.id.button_proxy_none);
|
||||||
buttonInvert = (Button) findViewById(R.id.button_invert_selection);
|
buttonInvert = findViewById(R.id.button_invert_selection);
|
||||||
|
|
||||||
buttonSelectAll.setOnClickListener(new OnAutoClickListener(0));
|
buttonSelectAll.setOnClickListener(new OnAutoClickListener(0));
|
||||||
buttonSelectNone.setOnClickListener(new OnAutoClickListener(1));
|
buttonSelectNone.setOnClickListener(new OnAutoClickListener(1));
|
||||||
|
|
After Width: | Height: | Size: 546 B |
After Width: | Height: | Size: 232 B |
After Width: | Height: | Size: 221 B |
After Width: | Height: | Size: 369 B |
After Width: | Height: | Size: 198 B |
After Width: | Height: | Size: 163 B |
After Width: | Height: | Size: 682 B |
After Width: | Height: | Size: 252 B |
After Width: | Height: | Size: 236 B |
After Width: | Height: | Size: 1000 B |
After Width: | Height: | Size: 415 B |
After Width: | Height: | Size: 325 B |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 505 B |
After Width: | Height: | Size: 379 B |
|
@ -3,7 +3,6 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:orientation="vertical"
|
|
||||||
android:duplicateParentState="true">
|
android:duplicateParentState="true">
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
@ -25,14 +24,14 @@
|
||||||
|
|
||||||
</ListView>
|
</ListView>
|
||||||
|
|
||||||
<RelativeLayout
|
<LinearLayout
|
||||||
android:id="@+id/layout_button_filters"
|
android:id="@+id/layout_button_filters"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentBottom="true"
|
android:layout_alignParentBottom="true"
|
||||||
android:orientation="horizontal" >
|
android:orientation="horizontal" >
|
||||||
|
|
||||||
<Button
|
<android.support.v7.widget.AppCompatImageButton
|
||||||
android:id="@+id/button_proxy_all"
|
android:id="@+id/button_proxy_all"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
@ -40,26 +39,31 @@
|
||||||
android:layout_alignParentStart="true"
|
android:layout_alignParentStart="true"
|
||||||
android:layout_toLeftOf="@+id/button_proxy_none"
|
android:layout_toLeftOf="@+id/button_proxy_none"
|
||||||
android:layout_toStartOf="@+id/button_proxy_none"
|
android:layout_toStartOf="@+id/button_proxy_none"
|
||||||
android:text="@string/button_proxy_all" />
|
|
||||||
|
|
||||||
<Button
|
android:layout_weight="1"
|
||||||
|
android:src="@drawable/ic_playlist_add_check_black_36dp"/>
|
||||||
|
|
||||||
|
<android.support.v7.widget.AppCompatImageButton
|
||||||
android:id="@+id/button_invert_selection"
|
android:id="@+id/button_invert_selection"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentRight="true"
|
android:layout_alignParentRight="true"
|
||||||
android:layout_alignParentEnd="true"
|
android:layout_alignParentEnd="true"
|
||||||
android:layout_alignParentTop="true"
|
android:layout_alignParentTop="true"
|
||||||
android:text="@string/button_invert_selection" />
|
|
||||||
|
|
||||||
<Button
|
android:layout_weight="1"
|
||||||
|
android:src="@drawable/ic_autorenew_black_36dp"/>
|
||||||
|
|
||||||
|
<android.support.v7.widget.AppCompatImageButton
|
||||||
android:id="@+id/button_proxy_none"
|
android:id="@+id/button_proxy_none"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentTop="true"
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_weight="1"
|
||||||
android:layout_toLeftOf="@+id/button_invert_selection"
|
android:layout_toLeftOf="@+id/button_invert_selection"
|
||||||
android:layout_toStartOf="@+id/button_invert_selection"
|
android:layout_toStartOf="@+id/button_invert_selection"
|
||||||
android:text="@string/button_proxy_none" />
|
android:src='@drawable/ic_filter_none_black_36dp' />
|
||||||
|
|
||||||
</RelativeLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
|
@ -218,7 +218,7 @@
|
||||||
<string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
|
<string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
|
||||||
<string name="iptables_version">IPtables v1.4.21: http://www.netfilter.org</string>
|
<string name="iptables_version">IPtables v1.4.21: http://www.netfilter.org</string>
|
||||||
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
|
<string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
|
||||||
<string name="hidden_service_request">An app wants to open hidden server port %S to the Tor network. This is safe if you trust the app.</string>
|
<string name="hidden_service_request">An app wants to open hidden server port %1$s to the Tor network. This is safe if you trust the app.</string>
|
||||||
<string name="found_existing_tor_process">found existing Tor process…</string>
|
<string name="found_existing_tor_process">found existing Tor process…</string>
|
||||||
<string name="something_bad_happened">Something bad happened. Check the log</string>
|
<string name="something_bad_happened">Something bad happened. Check the log</string>
|
||||||
<string name="hidden_service_on">hidden service on:</string>
|
<string name="hidden_service_on">hidden service on:</string>
|
||||||
|
|