// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package com.oliodevices.assist.app.detectors; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import com.olio.communication.messages.Message; import com.olio.communication.messages.MessageBuilder; import com.olio.data.object.bluetooth_status.BluetoothStatus; import com.olio.data.object.context.PersonalAssistantContext; import com.olio.data.object.user.ActivityTime; import com.olio.data.object.user.ActivityTimes; import com.olio.olios.detector.ManagedDetector; import com.olio.phone_state.OlioTime; import com.olio.phone_state.OlioTimeBuilder; import com.olio.util.ALog; import com.oliodevices.assist.app.core.ActivityTimeUtils; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.Map; import java.util.TimeZone; // Referenced classes of package com.oliodevices.assist.app.detectors: // BroadcastDelegate public class TimeDetector implements ManagedDetector { private final List builtInActivityTimeList = ActivityTimeUtils.getBuiltInActivityTimeList(); private final Context context; private Message mPendingMessage; private BroadcastReceiver mTimeChangeReceiver; public TimeDetector(Context context1) { mPendingMessage = null; context = context1; } private void setTimeContext(ActivityTime activitytime) { PersonalAssistantContext personalassistantcontext = PersonalAssistantContext.personalAssistantContext(context.getContentResolver(), "time"); if (personalassistantcontext == null) { (new PersonalAssistantContext("time", activitytime.getName())).save(context.getContentResolver()); return; } else { personalassistantcontext.setContextValue(activitytime.getName()); personalassistantcontext.save(context.getContentResolver()); return; } } private void updateCurrentTimeContext() { Object obj = ActivityTimes.get(context.getContentResolver()); ArrayList arraylist = new ArrayList(); arraylist.addAll(((ActivityTimes) (obj)).getActivityTimes().values()); obj = ActivityTimeUtils.getCurrentTimeContext(Calendar.getInstance(), arraylist, builtInActivityTimeList); if (obj != null) { setTimeContext(((ActivityTime) (obj))); } } public void onDisconnect() { } public void register() { mTimeChangeReceiver = new BroadcastReceiver() { final TimeDetector this$0; public void onReceive(Context context1, Intent intent) { intent = intent.getAction(); context1 = null; if (!"android.intent.action.TIME_SET".equals(intent) && !"android.intent.action.DATE_CHANGED".equals(intent)) goto _L2; else goto _L1 _L1: ALog.d("OlioTime Time or Date changed", new Object[0]); context1 = (new OlioTimeBuilder()).setTime(new Date()).setTimeZone(Calendar.getInstance().getTimeZone().getID()).build(); _L4: mPendingMessage = (new MessageBuilder()).setAction(com.olio.communication.messages.Message.Action.CREATE_OR_UPDATE).setPayload(context1).build(); update(); return; _L2: if ("android.intent.action.TIMEZONE_CHANGED".equals(intent)) { ALog.d("OlioTime Timezone changed", new Object[0]); context1 = (new OlioTimeBuilder()).setTime(new Date()).setTimeZone(Calendar.getInstance().getTimeZone().getID()).setTimeRequested(OlioTime.IGNORE_OLIO_TIME).build(); } if (true) goto _L4; else goto _L3 _L3: } { this$0 = TimeDetector.this; super(); } }; IntentFilter intentfilter = new IntentFilter("android.intent.action.TIMEZONE_CHANGED"); intentfilter.addAction("android.intent.action.TIME_SET"); intentfilter.addAction("android.intent.action.DATE_CHANGED"); context.registerReceiver(mTimeChangeReceiver, intentfilter); } public boolean shouldUpdate() { return BluetoothStatus.bluetoothStatus(context.getContentResolver()).getBluetooth3ConnectionStatus() == 3; } public void unregister() { if (mTimeChangeReceiver != null) { context.unregisterReceiver(mTimeChangeReceiver); } } public void update() { ALog.d("OlioTime Queing up a time message", new Object[0]); if (mPendingMessage != null) { (new BroadcastDelegate(context)).sendMessage(mPendingMessage); mPendingMessage = null; } updateCurrentTimeContext(); } public Long updateFrequency() { ActivityTimes.get(context.getContentResolver()); return Long.valueOf(0x36ee80L); } public boolean updateOnReconnect() { return true; } /* static Message access$002(TimeDetector timedetector, Message message) { timedetector.mPendingMessage = message; return message; } */ }