// 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.fragments; import android.app.Activity; import android.os.Bundle; import android.support.v4.app.Fragment; import android.text.Editable; import android.text.TextWatcher; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.EditText; import android.widget.Filter; import android.widget.ImageView; import android.widget.ListView; import android.widget.Toast; import butterknife.ButterKnife; import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.common.api.PendingResult; import com.google.android.gms.common.api.Result; import com.google.android.gms.common.api.ResultCallback; import com.google.android.gms.common.api.Status; import com.google.android.gms.location.places.GeoDataApi; import com.google.android.gms.location.places.Place; import com.google.android.gms.location.places.PlaceBuffer; import com.google.android.gms.location.places.Places; import com.google.android.gms.maps.model.LatLng; import com.oliodevices.assist.app.adapters.CitySelectionAdapter; import com.oliodevices.assist.app.api.TimeZoneApi; import com.oliodevices.assist.app.core.Utils; import java.util.Objects; import retrofit.Callback; import retrofit.RetrofitError; import retrofit.client.Response; // Referenced classes of package com.oliodevices.assist.app.fragments: // TitleChanger public class AddTimeZoneFragment extends Fragment implements TitleChanger, com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener, com.google.android.gms.common.api.GoogleApiClient.ConnectionCallbacks { public static interface AddTimeZoneCallback { public abstract void hideProgress(); public abstract void onPlaceSelected(String s, String s1, LatLng latlng); public abstract void showProgress(); } private AddTimeZoneCallback mCallbacks; ListView mCityList; private GoogleApiClient mGoogleApiClient; ImageView mInputIcon; EditText mLocationQuery; public AddTimeZoneFragment() { } private void initializeView() { mLocationQuery.addTextChangedListener(new TextWatcher() { final AddTimeZoneFragment this$0; public void afterTextChanged(Editable editable) { ImageView imageview = mInputIcon; int i; if (editable.length() == 0) { i = 0; } else { i = 1; } imageview.setImageLevel(i); } public void beforeTextChanged(CharSequence charsequence, int i, int j, int k) { } public void onTextChanged(CharSequence charsequence, int i, int j, int k) { } { this$0 = AddTimeZoneFragment.this; super(); } }); } public void onAttach(Activity activity) { super.onAttach(activity); if (activity instanceof AddTimeZoneCallback) { mCallbacks = (AddTimeZoneCallback)activity; return; } else { throw new ClassCastException((new StringBuilder()).append(activity.toString()).append(" must implement AddTimeZoneCallback").toString()); } } public void onConnected(final Bundle adapter) { adapter = new CitySelectionAdapter(getActivity()); mCityList.setAdapter(adapter); adapter.setAllEnabled(true); mLocationQuery.addTextChangedListener(new TextWatcher() { final AddTimeZoneFragment this$0; final CitySelectionAdapter val$adapter; public void afterTextChanged(Editable editable) { adapter.getFilter().filter(editable); } public void beforeTextChanged(CharSequence charsequence, int i, int j, int k) { } public void onTextChanged(CharSequence charsequence, int i, int j, int k) { } { this$0 = AddTimeZoneFragment.this; adapter = cityselectionadapter; super(); } }); } public void onConnectionFailed(ConnectionResult connectionresult) { mLocationQuery.addTextChangedListener(null); } public void onConnectionSuspended(int i) { mLocationQuery.addTextChangedListener(null); } public View onCreateView(LayoutInflater layoutinflater, ViewGroup viewgroup, Bundle bundle) { layoutinflater = layoutinflater.inflate(0x7f03002d, viewgroup, false); ButterKnife.inject(this, layoutinflater); initializeView(); return layoutinflater; } public void onDetach() { super.onDetach(); mCallbacks = null; } public void onInputIconClick() { mLocationQuery.setText(""); } public void onItemClick(int i) { if (mCallbacks == null) { return; } else { Utils.hideKeyboard(getActivity()); mLocationQuery.setEnabled(false); mCallbacks.showProgress(); final com.oliodevices.assist.app.adapters.CitySelectionAdapter.PlaceAutocomplete place = (CitySelectionAdapter)mCityList.getAdapter(); place.setAllEnabled(false); place = place.getItem(i); ResultCallback resultcallback = new ResultCallback() { final AddTimeZoneFragment this$0; final com.oliodevices.assist.app.adapters.CitySelectionAdapter.PlaceAutocomplete val$place; public volatile void onResult(Result result) { onResult((PlaceBuffer)result); } public void onResult(PlaceBuffer placebuffer) { if (placebuffer.getStatus().isSuccess()) { LatLng latlng = placebuffer.get(0).getLatLng(); Callback callback = latlng. new Callback() { final _cls1 this$1; final LatLng val$latLng; public void failure(RetrofitError retrofiterror) { Toast.makeText(getActivity(), (new StringBuilder()).append("Error contacting API: ").append(retrofiterror.getResponse().getReason()).toString(), 0).show(); } public void success(com.oliodevices.assist.app.api.TimeZoneService.TimeZoneResponse timezoneresponse, Response response) { if (!Objects.equals(timezoneresponse.status, "OK")) { Toast.makeText(getActivity(), (new StringBuilder()).append("Error contacting API: ").append(timezoneresponse.status).toString(), 0).show(); } else if (mCallbacks != null) { mCallbacks.onPlaceSelected(place.description, timezoneresponse.timeZoneId, latLng); mCallbacks.hideProgress(); return; } } public volatile void success(Object obj, Response response) { success((com.oliodevices.assist.app.api.TimeZoneService.TimeZoneResponse)obj, response); } { this$1 = final__pcls1; latLng = LatLng.this; super(); } }; TimeZoneApi.resolve(getActivity(), latlng.latitude, latlng.longitude, System.currentTimeMillis(), callback); } placebuffer.release(); } { this$0 = AddTimeZoneFragment.this; place = placeautocomplete; super(); } }; Places.GeoDataApi.getPlaceById(mGoogleApiClient, new String[] { place.placeId }).setResultCallback(resultcallback); return; } } public void onPause() { super.onPause(); Utils.hideKeyboard(getActivity()); } public void onResume() { super.onResume(); Utils.showKeyboardDelayed(getActivity(), mLocationQuery); } public void onStart() { super.onStart(); mGoogleApiClient.connect(); } public void onStop() { super.onStop(); mGoogleApiClient.disconnect(); } public void onViewCreated(View view, Bundle bundle) { super.onViewCreated(view, bundle); mGoogleApiClient = (new com.google.android.gms.common.api.GoogleApiClient.Builder(getActivity())).addApi(Places.GEO_DATA_API).addConnectionCallbacks(this).addOnConnectionFailedListener(this).build(); } public void setActivityTitle(Activity activity) { activity.setTitle(0x7f060106); } }