diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3cddc9b..102e25b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -8,6 +8,8 @@
+
+
+
+
diff --git a/app/src/main/java/com/hackncheese/glassnetinfo/MainActivity.java b/app/src/main/java/com/hackncheese/glassnetinfo/MainActivity.java
index e192d07..f326a54 100644
--- a/app/src/main/java/com/hackncheese/glassnetinfo/MainActivity.java
+++ b/app/src/main/java/com/hackncheese/glassnetinfo/MainActivity.java
@@ -2,6 +2,7 @@
import android.app.Activity;
import android.content.Context;
+import android.content.Intent;
import android.media.AudioManager;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
@@ -12,8 +13,6 @@
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
-import android.view.View;
-import android.widget.AdapterView;
import com.google.android.glass.media.Sounds;
import com.google.android.glass.widget.CardScrollView;
@@ -95,7 +94,7 @@ public boolean onOptionsItemSelected(MenuItem item) {
updateInfo();
return true;
case R.id.toggle_wifi:
- /*startActivity(new Intent(this, ToggleWifiActivity.class));*/
+ startActivity(new Intent(this, ToggleWifiActivity.class));
return true;
default:
return super.onOptionsItemSelected(item);
diff --git a/app/src/main/java/com/hackncheese/glassnetinfo/ToggleWifiActivity.java b/app/src/main/java/com/hackncheese/glassnetinfo/ToggleWifiActivity.java
new file mode 100644
index 0000000..f8913d7
--- /dev/null
+++ b/app/src/main/java/com/hackncheese/glassnetinfo/ToggleWifiActivity.java
@@ -0,0 +1,118 @@
+package com.hackncheese.glassnetinfo;
+
+import com.google.android.glass.media.Sounds;
+import com.google.android.glass.widget.CardBuilder;
+import com.google.android.glass.widget.CardScrollAdapter;
+import com.google.android.glass.widget.CardScrollView;
+
+import android.app.Activity;
+import android.content.Context;
+import android.media.AudioManager;
+import android.net.wifi.WifiManager;
+import android.os.Bundle;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.AdapterView;
+
+/**
+ * Toggles the WiFi state
+ */
+public class ToggleWifiActivity extends Activity {
+
+ private CardScrollView mCardScroller;
+
+ private View mView;
+
+ private boolean wifiState;
+
+ @Override
+ protected void onCreate(Bundle bundle) {
+ super.onCreate(bundle);
+
+ toggleWifiState();
+ mView = buildView();
+
+ mCardScroller = new CardScrollView(this);
+ mCardScroller.setAdapter(new CardScrollAdapter() {
+ @Override
+ public int getCount() {
+ return 1;
+ }
+
+ @Override
+ public Object getItem(int position) {
+ return mView;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ return mView;
+ }
+
+ @Override
+ public int getPosition(Object item) {
+ if (mView.equals(item)) {
+ return 0;
+ }
+ return AdapterView.INVALID_POSITION;
+ }
+ });
+ // Handle the TAP event.
+ mCardScroller.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+ @Override
+ public void onItemClick(AdapterView> parent, View view, int position, long id) {
+ toggleWifiState();
+ mView = buildView();
+ mCardScroller.getAdapter().notifyDataSetChanged();
+ // play a nice sound
+ AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
+ am.playSoundEffect(Sounds.SUCCESS);
+ }
+ });
+ setContentView(mCardScroller);
+
+ // play a nice sound
+ AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
+ am.playSoundEffect(Sounds.SUCCESS);
+
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ mCardScroller.activate();
+ }
+
+ @Override
+ protected void onPause() {
+ mCardScroller.deactivate();
+ super.onPause();
+ }
+
+ /**
+ * Toggles the state of WiFi
+ */
+ private void toggleWifiState() {
+ WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
+ wifiState = !wifiManager.isWifiEnabled();
+ wifiManager.setWifiEnabled(wifiState);
+ }
+
+ /**
+ * Builds a Glass styled view showing the WiFi state.
+ */
+ private View buildView() {
+ CardBuilder card = new CardBuilder(this, CardBuilder.Layout.TEXT);
+
+ String txt;
+ if (wifiState) {
+ txt = "WiFi is now enabled";
+ } else {
+ txt = "WiFi is now disabled";
+ }
+
+ card.setText(txt);
+ return card.getView();
+ }
+
+}
diff --git a/app/src/main/res/menu/main.xml b/app/src/main/res/menu/main.xml
index f0af3b3..a617957 100644
--- a/app/src/main/res/menu/main.xml
+++ b/app/src/main/res/menu/main.xml
@@ -5,7 +5,6 @@
android:title="@string/menu_refresh" />
+ android:title="@string/menu_toggle_wifi" />
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index f0e6848..c30b2a1 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -2,19 +2,19 @@
GlassNetInfo
- Show Network Info
+ Show Network Info
Show network info
+ Toggle WiFi
+
WiFi IP
SSID
Ext IP
Provider
retrieving…
-
n/a
n/a
-
n/a
(timed out)