package tv.piratemedia.lightcontroler.wear; import android.content.Context; import android.content.SharedPreferences; import android.database.DataSetObserver; import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiManager; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.support.v7.widget.SwitchCompat; import android.support.v7.widget.Toolbar; import android.util.Log; import android.view.View; import android.view.ViewGroup; import android.widget.CompoundButton; import android.widget.ListAdapter; import android.widget.ListView; import android.widget.TextView; import java.util.List; import tv.piratemedia.lightcontroler.R; public class WearSettings extends ActionBarActivity { private Toolbar mActionBar; public static String NETWORKS_PREFS = "tv.piratemedia.lightcontroler.networks"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.wear_settings); mActionBar = (Toolbar) findViewById(R.id.ab); setSupportActionBar(mActionBar); ListView List = (ListView) findViewById(R.id.network_list); listWifiNetworks(List); final SharedPreferences prefs = getSharedPreferences(this.getPackageName(), Context.MODE_PRIVATE); } private void listWifiNetworks(ListView lv) { WifiManager wm = (WifiManager) this.getSystemService(Context.WIFI_SERVICE); final List<WifiConfiguration> networks = wm.getConfiguredNetworks(); final SharedPreferences prefs = getSharedPreferences(NETWORKS_PREFS, Context.MODE_PRIVATE); ListAdapter la = new ListAdapter() { @Override public boolean areAllItemsEnabled() { return false; } @Override public boolean isEnabled(int position) { return false; } @Override public void registerDataSetObserver(DataSetObserver observer) { } @Override public void unregisterDataSetObserver(DataSetObserver observer) { } @Override public int getCount() { return networks.size(); } @Override public Object getItem(int position) { return networks.get(position); } @Override public long getItemId(int position) { return ((WifiConfiguration) getItem(position)).networkId; } @Override public boolean hasStableIds() { return false; } @Override public View getView(int position, View convertView, ViewGroup parent) { WifiConfiguration net = (WifiConfiguration) getItem(position); convertView = getLayoutInflater().inflate(R.layout.wifi_network, null); TextView Name = (TextView) convertView.findViewById(R.id.net_name); final String ssid = net.SSID.substring(1, net.SSID.length() - 1); Name.setText(ssid); SwitchCompat on = (SwitchCompat) convertView.findViewById(R.id.network_on); Boolean isEnabled = prefs.getBoolean(net.SSID.substring(1, net.SSID.length() - 1), false); on.setChecked(isEnabled); on.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) { prefs.edit().putBoolean(ssid, true).commit(); Log.d("Wear", "add network: "+ssid); } else { prefs.edit().remove(ssid).commit(); } } }); return convertView; } @Override public int getItemViewType(int position) { return 1; } @Override public int getViewTypeCount() { return 1; } @Override public boolean isEmpty() { return false; } }; lv.setAdapter(la); } }