/******************************************************************************* * Created by Orlando Aliaga * Copyright 2015 Prey Inc. All rights reserved. * License: GPLv3 * Full license at "/LICENSE" ******************************************************************************/ package com.prey.json.actions; import android.content.Context; import com.prey.PreyConfig; import com.prey.PreyLogger; import com.prey.actions.fileretrieval.FileretrievalController; import com.prey.actions.geofences.GeofenceController; import com.prey.actions.observer.ActionResult; import com.prey.backwardcompatibility.FroyoSupport; import com.prey.net.PreyWebServices; import org.json.JSONObject; import java.util.List; public class Detach { public void start(Context ctx, List<ActionResult> list, JSONObject parameters) { PreyLogger.i("Detach device"); Detach.detachDevice(ctx); } public static String detachDevice(Context ctx){ String error=null; try { PreyConfig.getPreyConfig(ctx).unregisterC2dm(false); } catch (Exception e) { error = e.getMessage();} try { PreyConfig.getPreyConfig(ctx).setSecurityPrivilegesAlreadyPrompted(false);} catch (Exception e) {} try { PreyConfig.getPreyConfig(ctx).setProtectAccount(false);} catch (Exception e) {error = e.getMessage();} try { PreyConfig.getPreyConfig(ctx).setProtectPrivileges(false);} catch (Exception e) {error = e.getMessage();} try { PreyConfig.getPreyConfig(ctx).setProtectTour(false);} catch (Exception e) {error = e.getMessage();} try { PreyConfig.getPreyConfig(ctx).setProtectReady(false);} catch (Exception e) {error = e.getMessage();} try { FroyoSupport fSupport = FroyoSupport.getInstance(ctx); if (fSupport.isAdminActive()) { fSupport.removeAdminPrivileges(); } } catch (Exception e) {} try { GeofenceController.getInstance().deleteAllZones(ctx); } catch (Exception e) {} try { FileretrievalController.getInstance().deleteAll(ctx); } catch (Exception e) {} try { PreyWebServices.getInstance().deleteDevice(ctx);} catch (Exception e) {error = e.getMessage();} try { PreyConfig.getPreyConfig(ctx).wipeData();} catch (Exception e) {error = e.getMessage();} return error; } }