summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/ui/DetailsAddressResolver.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/ui/DetailsAddressResolver.java')
-rw-r--r--src/com/android/gallery3d/ui/DetailsAddressResolver.java118
1 files changed, 0 insertions, 118 deletions
diff --git a/src/com/android/gallery3d/ui/DetailsAddressResolver.java b/src/com/android/gallery3d/ui/DetailsAddressResolver.java
deleted file mode 100644
index 8de667745..000000000
--- a/src/com/android/gallery3d/ui/DetailsAddressResolver.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.gallery3d.ui;
-
-import android.content.Context;
-import android.location.Address;
-import android.os.Handler;
-import android.os.Looper;
-
-import com.android.gallery3d.app.AbstractGalleryActivity;
-import com.android.gallery3d.data.MediaDetails;
-import com.android.gallery3d.util.Future;
-import com.android.gallery3d.util.FutureListener;
-import com.android.gallery3d.util.GalleryUtils;
-import com.android.gallery3d.util.ReverseGeocoder;
-import com.android.gallery3d.util.ThreadPool.Job;
-import com.android.gallery3d.util.ThreadPool.JobContext;
-
-public class DetailsAddressResolver {
- private AddressResolvingListener mListener;
- private final AbstractGalleryActivity mContext;
- private Future<Address> mAddressLookupJob;
- private final Handler mHandler;
-
- private class AddressLookupJob implements Job<Address> {
- private double[] mLatlng;
-
- protected AddressLookupJob(double[] latlng) {
- mLatlng = latlng;
- }
-
- @Override
- public Address run(JobContext jc) {
- ReverseGeocoder geocoder = new ReverseGeocoder(mContext.getAndroidContext());
- return geocoder.lookupAddress(mLatlng[0], mLatlng[1], true);
- }
- }
-
- public interface AddressResolvingListener {
- public void onAddressAvailable(String address);
- }
-
- public DetailsAddressResolver(AbstractGalleryActivity context) {
- mContext = context;
- mHandler = new Handler(Looper.getMainLooper());
- }
-
- public String resolveAddress(double[] latlng, AddressResolvingListener listener) {
- mListener = listener;
- mAddressLookupJob = mContext.getThreadPool().submit(
- new AddressLookupJob(latlng),
- new FutureListener<Address>() {
- @Override
- public void onFutureDone(final Future<Address> future) {
- mAddressLookupJob = null;
- if (!future.isCancelled()) {
- mHandler.post(new Runnable() {
- @Override
- public void run() {
- updateLocation(future.get());
- }
- });
- }
- }
- });
- return GalleryUtils.formatLatitudeLongitude("(%f,%f)", latlng[0], latlng[1]);
- }
-
- private void updateLocation(Address address) {
- if (address != null) {
- Context context = mContext.getAndroidContext();
- String parts[] = {
- address.getAdminArea(),
- address.getSubAdminArea(),
- address.getLocality(),
- address.getSubLocality(),
- address.getThoroughfare(),
- address.getSubThoroughfare(),
- address.getPremises(),
- address.getPostalCode(),
- address.getCountryName()
- };
-
- String addressText = "";
- for (int i = 0; i < parts.length; i++) {
- if (parts[i] == null || parts[i].isEmpty()) continue;
- if (!addressText.isEmpty()) {
- addressText += ", ";
- }
- addressText += parts[i];
- }
- String text = String.format("%s : %s", DetailsHelper.getDetailsName(
- context, MediaDetails.INDEX_LOCATION), addressText);
- mListener.onAddressAvailable(text);
- }
- }
-
- public void cancel() {
- if (mAddressLookupJob != null) {
- mAddressLookupJob.cancel();
- mAddressLookupJob = null;
- }
- }
-}