[tor-commits] [orbot/master] type selection spinner
n8fr8 at torproject.org
n8fr8 at torproject.org
Thu Mar 2 04:10:21 UTC 2017
commit f6f4d26645594b62c8cc05310f409f5f38d5eeb4
Author: arrase <arrase at gmail.com>
Date: Tue Nov 29 01:41:41 2016 +0100
type selection spinner
---
.../ui/hiddenservices/HiddenServicesActivity.java | 40 +++++++++++++++++++++-
app/src/main/res/menu/hs_menu.xml | 10 +++++-
app/src/main/res/values/arrays.xml | 5 ++-
app/src/main/res/values/strings.xml | 1 +
4 files changed, 53 insertions(+), 3 deletions(-)
diff --git a/app/src/main/java/org/torproject/android/ui/hiddenservices/HiddenServicesActivity.java b/app/src/main/java/org/torproject/android/ui/hiddenservices/HiddenServicesActivity.java
index 5771701..99af182 100644
--- a/app/src/main/java/org/torproject/android/ui/hiddenservices/HiddenServicesActivity.java
+++ b/app/src/main/java/org/torproject/android/ui/hiddenservices/HiddenServicesActivity.java
@@ -8,13 +8,16 @@ import android.database.Cursor;
import android.os.Bundle;
import android.os.Handler;
import android.support.design.widget.FloatingActionButton;
+import android.support.v4.view.MenuItemCompat;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
+import android.widget.ArrayAdapter;
import android.widget.ListView;
+import android.widget.Spinner;
import android.widget.Toast;
import org.torproject.android.R;
@@ -29,6 +32,7 @@ public class HiddenServicesActivity extends AppCompatActivity {
public final int WRITE_EXTERNAL_STORAGE_FROM_ACTIONBAR = 1;
private ContentResolver mResolver;
private OnionListAdapter mAdapter;
+ private FloatingActionButton fab;
private String mWhere = HSContentProvider.HiddenService.CREATED_BY_USER + "=1";
@@ -43,7 +47,7 @@ public class HiddenServicesActivity extends AppCompatActivity {
mResolver = getContentResolver();
- FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
+ fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@@ -96,6 +100,40 @@ public class HiddenServicesActivity extends AppCompatActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.hs_menu, menu);
+
+ MenuItem item = menu.findItem(R.id.hs_type);
+ Spinner spinner = (Spinner) MenuItemCompat.getActionView(item);
+
+ ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
+ this, R.array.array_hs_types, android.R.layout.simple_spinner_item);
+
+ adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+
+ spinner.setAdapter(adapter);
+
+ spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
+
+ @Override
+ public void onItemSelected(AdapterView<?> arg0, View v, int pos, long id) {
+ if (pos == 0) {
+ mWhere = HSContentProvider.HiddenService.CREATED_BY_USER + "=1";
+ fab.show();
+ } else {
+ mWhere = HSContentProvider.HiddenService.CREATED_BY_USER + "=0";
+ fab.hide();
+ }
+
+ mAdapter.changeCursor(mResolver.query(
+ HSContentProvider.CONTENT_URI, HSContentProvider.PROJECTION, mWhere, null, null
+ ));
+ }
+
+ @Override
+ public void onNothingSelected(AdapterView<?> arg0) {
+ // Do nothing
+ }
+ });
+
return true;
}
diff --git a/app/src/main/res/menu/hs_menu.xml b/app/src/main/res/menu/hs_menu.xml
index cfe580d..e82a935 100644
--- a/app/src/main/res/menu/hs_menu.xml
+++ b/app/src/main/res/menu/hs_menu.xml
@@ -1,5 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
-<menu xmlns:android="http://schemas.android.com/apk/res/android">
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
+ <item
+ android:id="@+id/hs_type"
+ android:background="#ff00"
+ android:title="@string/service_type"
+ app:actionViewClass="android.widget.Spinner"
+ app:showAsAction="always" />
+
<item
android:id="@+id/menu_restore_backup"
android:title="@string/restore_backup" />
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index 795a419..d0f2201 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -9,5 +9,8 @@
<item>Get New Bridges</item>
<item></item>
</string-array>
-
+ <string-array name="array_hs_types">
+ <item>User services</item>
+ <item>App services</item>
+ </string-array>
</resources>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index f189cd3..c8af6bb 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -361,4 +361,5 @@
<string name="start_tor_again_for_finish_the_process">Start Tor again for finish the process</string>
<string name="confirm_service_deletion">Confirm service deletion</string>
<string name="click_again_for_backup">Click again for backup</string>
+ <string name="service_type">Service type</string>
</resources>
More information about the tor-commits
mailing list