// 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.activities; import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; import android.support.v4.app.DialogFragment; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import butterknife.ButterKnife; import com.google.android.gms.analytics.Tracker; import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.GooglePlayServicesUtil; import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.location.LocationServices; import com.google.android.gms.location.places.Places; import com.olio.communication.messages.MessageBuilder; import com.olio.communication.messages.olio_updates.WatchUIEnable; import com.olio.data.object.user.ActivityTime; import com.olio.data.object.user.ActivityTimes; import com.olio.data.object.user.CalendarSettings; import com.olio.data.object.user.FavoriteContacts; import com.olio.data.object.user.Location; import com.olio.data.object.user.Locations; import com.olio.data.object.user.TransportationSettings; import com.oliodevices.assist.app.core.OlioApplication; import com.oliodevices.assist.app.core.Utils; import com.oliodevices.assist.app.detectors.BroadcastDelegate; import com.oliodevices.assist.app.fragments.AssistantBaseFragment; import com.oliodevices.assist.app.fragments.AssistantCalendarSelectionFragment; import com.oliodevices.assist.app.fragments.AssistantConfirmLocationFragment; import com.oliodevices.assist.app.fragments.AssistantContactLocationFragment; import com.oliodevices.assist.app.fragments.AssistantLocationFragment; import com.oliodevices.assist.app.fragments.AssistantNotificationAccessFragment; import com.oliodevices.assist.app.fragments.AssistantSetupCompleteFragment; import com.oliodevices.assist.app.fragments.AssistantSleepTimesFragment; import com.oliodevices.assist.app.fragments.AssistantTransportationFragment; import com.oliodevices.assist.app.fragments.AssistantUserLocationFragment; import com.oliodevices.assist.app.fragments.AssistantVIPSelectionFragment; import com.oliodevices.assist.app.views.PageIndicatorView; import java.util.List; import uk.co.chrisjenx.calligraphy.CalligraphyContextWrapper; // Referenced classes of package com.oliodevices.assist.app.activities: // AssistantActivityCallbacks, MainActivity public class AssistantActivity extends AppCompatActivity implements AssistantActivityCallbacks, com.google.android.gms.common.api.GoogleApiClient.ConnectionCallbacks, com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener { public static class ErrorDialogFragment extends DialogFragment { public Dialog onCreateDialog(Bundle bundle) { return GooglePlayServicesUtil.getErrorDialog(getArguments().getInt("dialog_error"), getActivity(), 1); } public void onDismiss(DialogInterface dialoginterface) { ((AssistantActivity)getActivity()).onDialogDismissed(); } public ErrorDialogFragment() { } } private static final String DIALOG_ERROR = "dialog_error"; private static final int NUM_PAGES = 7; private static final int REQUEST_RESOLVE_ERROR = 1; public static final int STAGE_CALENDAR_SELECTION = 3; public static final int STAGE_LOCATIONS = 5; public static final int STAGE_NOTIFICATION_ACCESS = 1; public static final int STAGE_SETUP_COMPLETE = 7; public static final int STAGE_SLEEP_TIMES = 4; public static final int STAGE_TRANSPORTATION_OPTIONS = 6; public static final int STAGE_VIP_SELECTION = 2; private static final String STATE_RESOLVING_ERROR = "resolving_error"; View mContactLocationWarning; private AsyncTask mGetPersonalInfoTask; private GoogleApiClient mGoogleApiClient; private boolean mIsCalendarSelectionDone; private boolean mIsHomeLocationDone; private boolean mIsNotificationAccessGranted; private boolean mIsPersonalInfoRetrieved; private boolean mIsSleepTimeDone; private boolean mIsTransportationSelectionDone; private boolean mIsVIPSelectionDone; private boolean mIsWorkLocationDone; View mMainView; PageIndicatorView mPageIndicatorView; View mProgress; private boolean mResolvingError; View mSkipConfirmationView; View mSleepWarning; private Tracker mTracker; View mVIPExplanationView; public AssistantActivity() { mTracker = null; mResolvingError = false; } private boolean isActivityTimeDone(ActivityTimes activitytimes, String s) { activitytimes = activitytimes.getActivityTime(s); return activitytimes != null && (activitytimes.getStart() != 0 || activitytimes.getEnd() != 0); } private boolean isLocationDone(Locations locations, String s) { locations = locations.getLocation(s); return locations != null && locations.getDisplayAddress() != null; } private void onDialogDismissed() { mResolvingError = false; } private void retrievePersonalInfo() { mGetPersonalInfoTask = (new AsyncTask() { final AssistantActivity this$0; protected volatile Object doInBackground(Object aobj[]) { return doInBackground((Void[])aobj); } protected transient Void doInBackground(Void avoid[]) { boolean flag1 = true; if (!isCancelled()) { Object obj = getContentResolver(); Object obj1 = FavoriteContacts.get(((android.content.ContentResolver) (obj))); avoid = CalendarSettings.get(((android.content.ContentResolver) (obj))); ActivityTimes activitytimes = ActivityTimes.get(((android.content.ContentResolver) (obj))); Locations locations = Locations.get(((android.content.ContentResolver) (obj))); obj = TransportationSettings.get(((android.content.ContentResolver) (obj))); mIsNotificationAccessGranted = Utils.isNotificationAccessGranted(AssistantActivity.this); boolean flag; if (((FavoriteContacts) (obj1)).getFavoriteContacts() != null) { AssistantActivity assistantactivity = AssistantActivity.this; if (((FavoriteContacts) (obj1)).getFavoriteContacts().size() > 0) { flag = true; } else { flag = false; } assistantactivity.mIsVIPSelectionDone = flag; } if (avoid.getCalendarIdentifiers() != null) { obj1 = AssistantActivity.this; if (avoid.getCalendarIdentifiers().size() > 0) { flag = true; } else { flag = false; } obj1.mIsCalendarSelectionDone = flag; } mIsWorkLocationDone = isLocationDone(locations, getString(0x7f0601d8)); mIsHomeLocationDone = isLocationDone(locations, getString(0x7f0600c1)); mIsSleepTimeDone = isActivityTimeDone(activitytimes, getString(0x7f06016b)); if (((TransportationSettings) (obj)).getTransportation() != null) { avoid = AssistantActivity.this; if (((TransportationSettings) (obj)).getTransportation().size() > 0) { flag = flag1; } else { flag = false; } avoid.mIsTransportationSelectionDone = flag; return null; } } return null; } protected volatile void onPostExecute(Object obj) { onPostExecute((Void)obj); } protected void onPostExecute(Void void1) { if (isCancelled()) { return; } else { mProgress.setVisibility(8); mMainView.setVisibility(0); mIsPersonalInfoRetrieved = true; invalidateOptionsMenu(); startNotificationAccess(); return; } } protected void onPreExecute() { mProgress.setVisibility(0); mMainView.setVisibility(8); } { this$0 = AssistantActivity.this; super(); } }).execute(new Void[0]); } private void showErrorDialog(int i) { ErrorDialogFragment errordialogfragment = new ErrorDialogFragment(); Bundle bundle = new Bundle(); bundle.putInt("dialog_error", i); errordialogfragment.setArguments(bundle); errordialogfragment.show(getSupportFragmentManager(), "dialog_error"); } private void startCalendarSelection() { if (mIsCalendarSelectionDone) { finishCalendarSelection(); return; } else { startFragment(new AssistantCalendarSelectionFragment()); return; } } private void startFragment(Fragment fragment) { FragmentManager fragmentmanager = getSupportFragmentManager(); FragmentTransaction fragmenttransaction = fragmentmanager.beginTransaction(); if (fragmentmanager.findFragmentById(0x7f0d005b) == null) { fragmenttransaction.add(0x7f0d005b, fragment); } else { fragmenttransaction.setCustomAnimations(0x7f04000d, 0x7f04000e, 0x7f04000c, 0x7f04000f); fragmenttransaction.replace(0x7f0d005b, fragment); fragmenttransaction.addToBackStack(null); } fragmenttransaction.commit(); fragmentmanager.executePendingTransactions(); updateViews(); } private void startLocation(com.olio.data.object.user.Location.LocationType locationtype) { if (locationtype == com.olio.data.object.user.Location.LocationType.WORK) { if (mIsWorkLocationDone) { nextLocation(locationtype); return; } else { startFragment(AssistantLocationFragment.newInstance(com.olio.data.object.user.Location.LocationType.WORK)); return; } } if (locationtype == com.olio.data.object.user.Location.LocationType.HOME) { if (mIsHomeLocationDone) { nextLocation(locationtype); return; } else { startFragment(AssistantLocationFragment.newInstance(com.olio.data.object.user.Location.LocationType.HOME)); return; } } else { finishLocation(); return; } } private void startNotificationAccess() { if (mIsNotificationAccessGranted) { finishNotificationAccess(); return; } else { startFragment(new AssistantNotificationAccessFragment()); return; } } private void startSleepTime() { if (mIsSleepTimeDone) { finishSleepTime(); return; } else { startFragment(new AssistantSleepTimesFragment()); return; } } private void startTransportationSelection() { if (mIsTransportationSelectionDone) { finishTransportationSelection(); return; } else { startFragment(new AssistantTransportationFragment()); return; } } private void startVIPSelection() { if (mIsVIPSelectionDone) { finishVIPSelection(); return; } else { startFragment(new AssistantVIPSelectionFragment()); return; } } private void updateViews() { Object obj = getSupportFragmentManager().findFragmentById(0x7f0d005b); if (obj instanceof AssistantBaseFragment) { int i = ((AssistantBaseFragment)obj).getStage(); mPageIndicatorView.setCurrentPage(i); } obj = getSupportActionBar(); if (obj != null) { boolean flag; if (getSupportFragmentManager().getBackStackEntryCount() > 0) { flag = true; } else { flag = false; } ((ActionBar) (obj)).setDisplayHomeAsUpEnabled(flag); } } protected void attachBaseContext(Context context) { super.attachBaseContext(CalligraphyContextWrapper.wrap(context)); } public void confirmCurrentLocation(com.olio.data.object.user.Location.LocationType locationtype, String s) { startFragment(AssistantUserLocationFragment.newInstance(locationtype, s)); } public void confirmLocation(com.olio.data.object.user.Location.LocationType locationtype, Location location) { startFragment(AssistantConfirmLocationFragment.newInstance(locationtype, location)); } public void finishAssistantSetup() { com.olio.communication.messages.Message message = (new MessageBuilder()).setSource("phone").setDestination("watch").setAction(com.olio.communication.messages.Message.Action.CREATE_OR_UPDATE).setPayload(new WatchUIEnable(true)).build(); (new BroadcastDelegate(this)).sendMessage(message); startActivity(new Intent(this, com/oliodevices/assist/app/activities/MainActivity)); finish(); } public void finishCalendarSelection() { startSleepTime(); } public void finishLocation() { startTransportationSelection(); } public void finishNotificationAccess() { startVIPSelection(); } public void finishSleepTime() { startLocation(com.olio.data.object.user.Location.LocationType.WORK); } public void finishTransportationSelection() { startFragment(new AssistantSetupCompleteFragment()); } public void finishVIPSelection() { startCalendarSelection(); } public void getContactLocation() { startFragment(new AssistantContactLocationFragment()); } public GoogleApiClient getGoogleApiClient() { return mGoogleApiClient; } public void getUserLocation(com.olio.data.object.user.Location.LocationType locationtype) { startFragment(AssistantUserLocationFragment.newInstance(locationtype)); } public void nextLocation(com.olio.data.object.user.Location.LocationType locationtype) { if (locationtype == com.olio.data.object.user.Location.LocationType.WORK) { locationtype = com.olio.data.object.user.Location.LocationType.HOME; } else { locationtype = com.olio.data.object.user.Location.LocationType.OTHER; } startLocation(locationtype); } protected void onActivityResult(int i, int j, Intent intent) { if (i == 1) { mResolvingError = false; if (j == -1 && !mGoogleApiClient.isConnecting() && !mGoogleApiClient.isConnected()) { mGoogleApiClient.connect(); } } } public void onBackPressed() { if (mVIPExplanationView.getVisibility() == 0) { onVIPProceed(); return; } if (mSkipConfirmationView.getVisibility() == 0) { onCancelSkip(); return; } if (mSleepWarning.getVisibility() == 0) { onSleepCancel(); return; } if (mContactLocationWarning.getVisibility() == 0) { onContactLocationSkip(); return; } else { super.onBackPressed(); return; } } public void onCancelSkip() { mSkipConfirmationView.setVisibility(8); Fragment fragment = getSupportFragmentManager().findFragmentById(0x7f0d005b); if (fragment instanceof AssistantBaseFragment) { ((AssistantBaseFragment)fragment).onCancelSkip(); } } public void onConfirmSkip() { mSkipConfirmationView.setVisibility(8); Fragment fragment = getSupportFragmentManager().findFragmentById(0x7f0d005b); if (fragment instanceof AssistantBaseFragment) { ((AssistantBaseFragment)fragment).onConfirmSkip(); } } public void onConnected(Bundle bundle) { if (!mIsPersonalInfoRetrieved) { retrievePersonalInfo(); } } public void onConnectionFailed(ConnectionResult connectionresult) { if (mResolvingError) { return; } if (connectionresult.hasResolution()) { try { mResolvingError = true; connectionresult.startResolutionForResult(this, 1); return; } // Misplaced declaration of an exception variable catch (ConnectionResult connectionresult) { mGoogleApiClient.connect(); } return; } else { showErrorDialog(connectionresult.getErrorCode()); mResolvingError = true; return; } } public void onConnectionSuspended(int i) { } public void onContactLocationSearchAgain() { mContactLocationWarning.setVisibility(8); } public void onContactLocationSkip() { mContactLocationWarning.setVisibility(8); Fragment fragment = getSupportFragmentManager().findFragmentById(0x7f0d005b); if (fragment instanceof AssistantBaseFragment) { ((AssistantBaseFragment)fragment).onConfirmSkip(); } } protected void onCreate(Bundle bundle) { super.onCreate(bundle); setContentView(0x7f030019); ButterKnife.inject(this); mTracker = ((OlioApplication)getApplication()).getDefaultTracker(); Toolbar toolbar = (Toolbar)ButterKnife.findById(this, 0x7f0d0059); toolbar.setTitle(0x7f060155); Utils.fixToolbarTypefaceHack(getResources(), toolbar); setSupportActionBar(toolbar); mPageIndicatorView.initialize(7); getSupportFragmentManager().addOnBackStackChangedListener(new android.support.v4.app.FragmentManager.OnBackStackChangedListener() { final AssistantActivity this$0; public void onBackStackChanged() { updateViews(); invalidateOptionsMenu(); } { this$0 = AssistantActivity.this; super(); } }); if (bundle != null) { mResolvingError = bundle.getBoolean("resolving_error", false); } mGoogleApiClient = (new com.google.android.gms.common.api.GoogleApiClient.Builder(this)).addApi(Places.GEO_DATA_API).addApi(Places.PLACE_DETECTION_API).addApi(LocationServices.API).addConnectionCallbacks(this).addOnConnectionFailedListener(this).build(); } public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(0x7f0e0000, menu); return true; } public boolean onOptionsItemSelected(MenuItem menuitem) { switch (menuitem.getItemId()) { default: return super.onOptionsItemSelected(menuitem); case 16908332: Utils.hideKeyboard(this); onBackPressed(); return true; case 2131558837: Utils.hideKeyboard(this); break; } onSkipPressed(); return true; } public boolean onPrepareOptionsMenu(Menu menu) { super.onPrepareOptionsMenu(menu); Fragment fragment = getSupportFragmentManager().findFragmentById(0x7f0d005b); boolean flag = false; if (fragment instanceof AssistantBaseFragment) { flag = ((AssistantBaseFragment)fragment).isSkipVisible(); } menu.findItem(0x7f0d01b5).setVisible(flag); return true; } protected void onResume() { super.onResume(); if (mTracker != null) { mTracker.setScreenName("AssistantActivity"); mTracker.send((new com.google.android.gms.analytics.HitBuilders.ScreenViewBuilder()).build()); } } protected void onSaveInstanceState(Bundle bundle) { super.onSaveInstanceState(bundle); bundle.putBoolean("resolving_error", mResolvingError); } public void onSkipPressed() { mSkipConfirmationView.setVisibility(0); Fragment fragment = getSupportFragmentManager().findFragmentById(0x7f0d005b); if (fragment instanceof AssistantBaseFragment) { ((AssistantBaseFragment)fragment).onShowSkipConfirmation(); } } public void onSleepCancel() { mSleepWarning.setVisibility(8); } public void onSleepConfirm() { mSleepWarning.setVisibility(8); Fragment fragment = getSupportFragmentManager().findFragmentById(0x7f0d005b); if (fragment instanceof AssistantSleepTimesFragment) { ((AssistantSleepTimesFragment)fragment).onConfirmMeridians(); } } protected void onStart() { super.onStart(); if (!mResolvingError) { mGoogleApiClient.connect(); } } protected void onStop() { mGoogleApiClient.disconnect(); if (mGetPersonalInfoTask != null) { mGetPersonalInfoTask.cancel(true); } super.onStop(); } public void onVIPProceed() { mVIPExplanationView.setVisibility(8); Fragment fragment = getSupportFragmentManager().findFragmentById(0x7f0d005b); if (fragment instanceof AssistantVIPSelectionFragment) { ((AssistantVIPSelectionFragment)fragment).onVIPExplanationDismiss(); } } public void showContactLocationWarning() { mContactLocationWarning.setVisibility(0); } public void showSleepConfirmation() { mSleepWarning.setVisibility(0); } public void showVIPExplanation() { mVIPExplanationView.setVisibility(0); } /* static boolean access$1002(AssistantActivity assistantactivity, boolean flag) { assistantactivity.mIsTransportationSelectionDone = flag; return flag; } */ /* static boolean access$1102(AssistantActivity assistantactivity, boolean flag) { assistantactivity.mIsPersonalInfoRetrieved = flag; return flag; } */ /* static boolean access$202(AssistantActivity assistantactivity, boolean flag) { assistantactivity.mIsNotificationAccessGranted = flag; return flag; } */ /* static boolean access$302(AssistantActivity assistantactivity, boolean flag) { assistantactivity.mIsVIPSelectionDone = flag; return flag; } */ /* static boolean access$402(AssistantActivity assistantactivity, boolean flag) { assistantactivity.mIsCalendarSelectionDone = flag; return flag; } */ /* static boolean access$502(AssistantActivity assistantactivity, boolean flag) { assistantactivity.mIsWorkLocationDone = flag; return flag; } */ /* static boolean access$702(AssistantActivity assistantactivity, boolean flag) { assistantactivity.mIsHomeLocationDone = flag; return flag; } */ /* static boolean access$802(AssistantActivity assistantactivity, boolean flag) { assistantactivity.mIsSleepTimeDone = flag; return flag; } */ }