Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b5bc8833 authored by Ray Chen's avatar Ray Chen
Browse files

Fix 5343229 Location displayed as co-ordinates in details of picture captured from camera

Change-Id: I223b69a3e10fe85a4622cf33110414cd14624f36
parent 26e87940
Loading
Loading
Loading
Loading
+9 −10
Original line number Diff line number Diff line
@@ -16,6 +16,11 @@

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.GalleryActivity;
import com.android.gallery3d.data.MediaDetails;
import com.android.gallery3d.util.Future;
@@ -25,19 +30,14 @@ import com.android.gallery3d.util.ReverseGeocoder;
import com.android.gallery3d.util.ThreadPool.Job;
import com.android.gallery3d.util.ThreadPool.JobContext;

import android.content.Context;
import android.location.Address;
import android.os.Handler;
import android.os.Looper;

public class DetailsAddressResolver {
    private AddressResolvingListener mListener;
    private double[] mLatlng;
    private GalleryActivity mContext;
    private final GalleryActivity mContext;
    private Future<Address> mAddressLookupJob;
    private Handler mHandler;
    private final Handler mHandler;

    private class AddressLookupJob implements Job<Address> {
        private double[] mLatlng;

        protected AddressLookupJob(double[] latlng) {
            mLatlng = latlng;
@@ -59,7 +59,6 @@ public class DetailsAddressResolver {
    }

    public String resolveAddress(double[] latlng, AddressResolvingListener listener) {
        mLatlng = latlng;
        mListener = listener;
        mAddressLookupJob = mContext.getThreadPool().submit(
                new AddressLookupJob(latlng),
@@ -75,7 +74,7 @@ public class DetailsAddressResolver {
                        }
                    }
                });
        return GalleryUtils.formatLatitudeLongitude("(%f,%f)", mLatlng[0], mLatlng[1]);
        return GalleryUtils.formatLatitudeLongitude("(%f,%f)", latlng[0], latlng[1]);
    }

    private void updateLocation(Address address) {
+16 −34
Original line number Diff line number Diff line
@@ -16,50 +16,29 @@

package com.android.gallery3d.ui;

import static com.android.gallery3d.ui.DetailsWindowConfig.FONT_SIZE;
import static com.android.gallery3d.ui.DetailsWindowConfig.LEFT_RIGHT_EXTRA_PADDING;
import static com.android.gallery3d.ui.DetailsWindowConfig.LINE_SPACING;
import static com.android.gallery3d.ui.DetailsWindowConfig.PREFERRED_WIDTH;
import static com.android.gallery3d.ui.DetailsWindowConfig.TOP_BOTTOM_EXTRA_PADDING;

import com.android.gallery3d.R;
import com.android.gallery3d.app.GalleryActivity;
import com.android.gallery3d.common.Utils;
import com.android.gallery3d.data.MediaDetails;
import com.android.gallery3d.ui.DetailsAddressResolver.AddressResolvingListener;
import com.android.gallery3d.ui.DetailsHelper.CloseListener;
import com.android.gallery3d.ui.DetailsHelper.DetailsViewContainer;
import com.android.gallery3d.ui.DetailsHelper.DetailsSource;
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;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnDismissListener;
import android.database.DataSetObserver;
import android.graphics.Color;
import android.graphics.Rect;
import android.location.Address;
import android.os.Handler;
import android.os.Message;
import android.text.format.Formatter;
import android.view.ContextThemeWrapper;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.MeasureSpec;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;

import com.android.gallery3d.R;
import com.android.gallery3d.app.GalleryActivity;
import com.android.gallery3d.common.Utils;
import com.android.gallery3d.data.MediaDetails;
import com.android.gallery3d.ui.DetailsAddressResolver.AddressResolvingListener;
import com.android.gallery3d.ui.DetailsHelper.CloseListener;
import com.android.gallery3d.ui.DetailsHelper.DetailsSource;
import com.android.gallery3d.ui.DetailsHelper.DetailsViewContainer;

import java.util.ArrayList;
import java.util.Map.Entry;

@@ -67,13 +46,12 @@ public class DialogDetailsView implements DetailsViewContainer {
    @SuppressWarnings("unused")
    private static final String TAG = "DialogDetailsView";

    private GalleryActivity mContext;
    private final GalleryActivity mContext;
    private DetailsAdapter mAdapter;
    private MediaDetails mDetails;
    private DetailsSource mSource;
    private final DetailsSource mSource;
    private int mIndex;
    private Dialog mDialog;
    private int mLocationIndex;
    private CloseListener mListener;

    public DialogDetailsView(GalleryActivity activity, DetailsSource source) {
@@ -134,7 +112,8 @@ public class DialogDetailsView implements DetailsViewContainer {
    }

    private class DetailsAdapter extends BaseAdapter implements AddressResolvingListener {
        private ArrayList<String> mItems;
        private final ArrayList<String> mItems;
        private int mLocationIndex;

        public DetailsAdapter(MediaDetails details) {
            Context context = mContext.getAndroidContext();
@@ -211,10 +190,12 @@ public class DialogDetailsView implements DetailsViewContainer {
            }
        }

        @Override
        public boolean areAllItemsEnabled() {
            return false;
        }

        @Override
        public boolean isEnabled(int position) {
            return false;
        }
@@ -245,6 +226,7 @@ public class DialogDetailsView implements DetailsViewContainer {

        public void onAddressAvailable(String address) {
            mItems.set(mLocationIndex, address);
            notifyDataSetChanged();
        }
    }