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

Unverified Commit e640344f authored by huiyan's avatar huiyan Committed by Michael Bestas
Browse files

Gallery2: Fix the image add to the status bar.

The Gallery is killed by system in background due to some reason.
The Gallery restore last states after restart it.
But the mediaset is loading, the reload function return immediately,
and the data is empty,the Photopage is finished when the data is empty.
So the UI is wrong.

If the mediaset is loading, waiting for it. After loading successfully,
display the right photo.

Change-Id: Icb95524bd151145beeba83205b365065fbb20530
CRs-Fixed: 979193
parent 6fe89048
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -1069,18 +1069,23 @@ public class PhotoDataAdapter implements PhotoPage.Model {

        @Override
        public void run() {
            long version = MediaObject.INVALID_DATA_VERSION;
            while (mActive) {
                synchronized (this) {
                    if (!mDirty && mActive) {
                    if (!mDirty && mActive && version != MediaObject.INVALID_DATA_VERSION) {
                        updateLoading(false);
                        Utils.waitWithoutInterrupt(this);
                        continue;
                    }
                }
                mDirty = false;
                version = mSource.reload();
                //if data is not ready, continue to reload
                if (version == MediaObject.INVALID_DATA_VERSION) {
                    continue;
                }
                UpdateInfo info = executeAndWait(new GetUpdateInfo());
                updateLoading(true);
                long version = mSource.reload();

                // Used for delete photo, RTL need to re-decide the slide range.
                if (View.LAYOUT_DIRECTION_RTL == TextUtils
+5 −1
Original line number Diff line number Diff line
@@ -107,7 +107,11 @@ public class ClusterAlbum extends MediaSet implements ContentListener {

    @Override
    public long reload() {
        if (mClusterAlbumSet.reload() > mDataVersion) {
        long version = mClusterAlbumSet.reload();
        if (version == INVALID_DATA_VERSION) {
            return INVALID_DATA_VERSION;
        }
        if (version > mDataVersion) {
            mDataVersion = nextVersionNumber();
        }
        return mDataVersion;