package com.lechucksoftware.proxy.proxysettings.ui.base; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.util.Log; import com.lechucksoftware.proxy.proxysettings.App; import com.lechucksoftware.proxy.proxysettings.constants.Intents; import com.lechucksoftware.proxy.proxysettings.utils.WifiScannerHandler; import be.shouldit.proxy.lib.constants.APLIntents; import timber.log.Timber; /** * Created by marco on 07/11/13. */ public class BaseWifiActivity extends BaseActivity { private static final String TAG = BaseWifiActivity.class.getSimpleName(); private WifiScannerHandler mScanner; protected WifiScannerHandler getWifiScanner() { if (mScanner == null) mScanner = new WifiScannerHandler(); return mScanner; } @Override public void onResume() { super.onResume(); getWifiScanner().resume(); // Start register the status receivers IntentFilter ifilt = new IntentFilter(); // ifilt.addAction(Intents.WIFI_AP_UPDATED); ifilt.addAction(APLIntents.APL_UPDATED_PROXY_STATUS_CHECK); ifilt.addAction(Intents.PROXY_REFRESH_UI); try { registerReceiver(changeStatusReceiver, ifilt); } catch (IllegalArgumentException e) { Timber.e(e,"Exception resuming BaseWifiActivity"); } refreshUI(); } @Override public void onPause() { super.onPause(); getWifiScanner().pause(); mScanner = null; try { // Stop the registered status receivers unregisterReceiver(changeStatusReceiver); } catch (IllegalArgumentException e) { Timber.e(e,"Exception pausing BaseWifiActivity"); } } private BroadcastReceiver changeStatusReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); App.getTraceUtils().logIntent(TAG, intent, Log.DEBUG, true); if (action.equals(APLIntents.APL_UPDATED_PROXY_STATUS_CHECK)) { Timber.d("Received broadcast for partial update on status of proxy configuration - RefreshUI"); refreshUI(); } else if (action.equals(Intents.PROXY_REFRESH_UI)) { Timber.d("Received broadcast for update the Proxy Settings UI - RefreshUI"); refreshUI(); } else { Timber.e("Received intent not handled: " + intent.getAction()); } } }; }