diff options
author | Advaita <adipandya@gmail.com> | 2016-03-15 23:07:27 +0530 |
---|---|---|
committer | Advaita <adipandya@gmail.com> | 2016-03-23 20:54:10 +0530 |
commit | cab3fa7874f90f9aa8f5d3b9244e78ac4dd96638 (patch) | |
tree | c3fad74ed1a4b65a6d9b89b53ec3d171da0540fb /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/receiver/NetworkReceiver.java | |
parent | 2b43ba438bd9956ceef8ccf1dc229e5dbb52a286 (diff) | |
download | open-keychain-cab3fa7874f90f9aa8f5d3b9244e78ac4dd96638.tar.gz open-keychain-cab3fa7874f90f9aa8f5d3b9244e78ac4dd96638.tar.bz2 open-keychain-cab3fa7874f90f9aa8f5d3b9244e78ac4dd96638.zip |
Final commit
All changes included
Improvements
-Reformatted code wherever required
-Only active wifi connections trigger events
-Improve sync reliability
-Removed extra permission
Minor Changes
-Refactored 2 variables for easier readbility
-Wifi-Only-Sync is now enabled by default
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/receiver/NetworkReceiver.java')
-rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/receiver/NetworkReceiver.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/receiver/NetworkReceiver.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/receiver/NetworkReceiver.java new file mode 100644 index 000000000..7c103a9a3 --- /dev/null +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/receiver/NetworkReceiver.java @@ -0,0 +1,52 @@ +package org.sufficientlysecure.keychain.receiver; + +import android.content.BroadcastReceiver; +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; + +import org.sufficientlysecure.keychain.Constants; +import org.sufficientlysecure.keychain.service.KeyserverSyncAdapterService; +import org.sufficientlysecure.keychain.util.Log; + +public class NetworkReceiver extends BroadcastReceiver { + + @Override + public void onReceive(Context context, Intent intent) { + + ConnectivityManager conn = (ConnectivityManager) + context.getSystemService(Context.CONNECTIVITY_SERVICE); + NetworkInfo networkInfo = conn.getActiveNetworkInfo(); + boolean isTypeWifi = (networkInfo.getType() == ConnectivityManager.TYPE_WIFI); + boolean isConnected = networkInfo.isConnected(); + + if (isTypeWifi && isConnected) { + + // broadcaster receiver disabled + setWifiReceiverComponent(false, context); + Intent serviceIntent = new Intent(context, KeyserverSyncAdapterService.class); + serviceIntent.setAction(KeyserverSyncAdapterService.ACTION_SYNC_NOW); + context.startService(serviceIntent); + } + } + + public void setWifiReceiverComponent(Boolean isEnabled, Context context) { + + PackageManager pm = context.getPackageManager(); + ComponentName compName = new ComponentName(context, + NetworkReceiver.class); + + if (isEnabled) { + pm.setComponentEnabledSetting(compName, + PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); + Log.d(Constants.TAG, "Wifi Receiver is enabled!"); + } else { + pm.setComponentEnabledSetting(compName, + PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); + Log.d(Constants.TAG, "Wifi Receiver is disabled!"); + } + } +} |