package com.eveningoutpost.dexdrip.UtilityModels; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.preference.PreferenceManager; import android.util.Log; import com.eveningoutpost.dexdrip.Services.DexCollectionService; import com.eveningoutpost.dexdrip.Services.DexShareCollectionService; import com.eveningoutpost.dexdrip.Services.WixelReader; /** * Created by stephenblack on 12/22/14. */ public class CollectionServiceStarter { private Context mContext; public static boolean isBTWixel(Context context) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); String collection_method = prefs.getString("dex_collection_method", "BluetoothWixel"); if(collection_method.compareTo("BluetoothWixel") == 0) { return true; } return false; } public static boolean isBTShare(Context context) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); String collection_method = prefs.getString("dex_collection_method", "BluetoothWixel"); if(collection_method.compareTo("DexcomShare") == 0) { return true; } return false; } public static boolean isWifiWixel(Context context) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); String collection_method = prefs.getString("dex_collection_method", "BluetoothWixel"); if(collection_method.compareTo("WifiWixel") == 0) { return true; } return false; } public static void newStart(Context context) { CollectionServiceStarter collectionServiceStarter = new CollectionServiceStarter(context); collectionServiceStarter.start(context); } public void start(Context context) { mContext = context; SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext); String collection_method = prefs.getString("dex_collection_method", "BluetoothWixel"); if(isBTWixel(context)) { Log.d("DexDrip", "Starting bt wixel collector"); stopWifWixelThread(); stopBtShareService(); startBtWixelService(); } else if(isWifiWixel(context)){ Log.d("DexDrip", "Starting wifi wixel collector"); stopBtWixelService(); stopBtShareService(); startWifWixelThread(); } else if(isBTShare(context)) { Log.d("DexDrip", "Starting bt share collector"); stopBtWixelService(); stopWifWixelThread(); startBtShareService(); } Log.d("ColServiceStarter", collection_method); } public CollectionServiceStarter(Context context) { mContext = context; } public static void restartCollectionService(Context context) { CollectionServiceStarter collectionServiceStarter = new CollectionServiceStarter(context); collectionServiceStarter.stopBtShareService(); collectionServiceStarter.stopBtWixelService(); collectionServiceStarter.stopWifWixelThread(); collectionServiceStarter.start(context); } private void startBtWixelService() { Log.d("ColServiceStarter", "starting bt wixel service"); if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR2) { mContext.startService(new Intent(mContext, DexCollectionService.class)); } } private void stopBtWixelService() { Log.d("ColServiceStarter", "stopping bt wixel service"); mContext.stopService(new Intent(mContext, DexCollectionService.class)); } private void startBtShareService() { Log.d("ColServiceStarter", "starting bt share service"); if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR2) { mContext.startService(new Intent(mContext, DexShareCollectionService.class)); } } private void stopBtShareService() { Log.d("ColServiceStarter", "stopping bt share service"); mContext.stopService(new Intent(mContext, DexShareCollectionService.class)); } private void startWifWixelThread() { WixelReader.sStart(mContext); } private void stopWifWixelThread() { WixelReader.sStop(); } }