[Libreoffice-commits] .: android/sdremote

Andrzej J.R. Hunt ajrhunt at kemper.freedesktop.org
Wed Aug 15 09:56:39 PDT 2012


 android/sdremote/src/org/libreoffice/impressremote/PresentationActivity.java      |    5 
 android/sdremote/src/org/libreoffice/impressremote/PresentationFragment.java      |   11 
 android/sdremote/src/org/libreoffice/impressremote/SettingsActivity.java          |    1 
 android/sdremote/src/org/libreoffice/impressremote/StartPresentationActivity.java |    2 
 android/sdremote/src/pl/polidea/coverflow/AbstractCoverFlowImageAdapter.java      |  170 ++++------
 5 files changed, 79 insertions(+), 110 deletions(-)

New commits:
commit 5308c3d6a6df36d27969e9a9b66e40bd9d2ecc5a
Author: Andrzej J.R. Hunt <andrzej at ahunt.org>
Date:   Wed Aug 15 18:54:08 2012 +0200

    Fixed image updating in Presentation View.
    
    This is done by removing caching in the AbstractCoverFlowImageAdapter.
    
    Change-Id: Ib6df57a73545f8a98b4104a6e2917121e9d7afa8

diff --git a/android/sdremote/src/org/libreoffice/impressremote/PresentationActivity.java b/android/sdremote/src/org/libreoffice/impressremote/PresentationActivity.java
index c96235b..13bff68 100644
--- a/android/sdremote/src/org/libreoffice/impressremote/PresentationActivity.java
+++ b/android/sdremote/src/org/libreoffice/impressremote/PresentationActivity.java
@@ -177,9 +177,6 @@ public class PresentationActivity extends FragmentActivity {
         private ToggleButton mTimeLabel;
         private ToggleButton mThumbnailButton;
 
-        private View mDropdownOptions;
-        private View mDropdownBlank;
-
         // ------- CLOCKBAR
         private View mClockBar;
         private ToggleButton mClockBar_clockButton;
@@ -338,7 +335,6 @@ public class PresentationActivity extends FragmentActivity {
 
             @Override
             public void run() {
-                //invalidateOptionsMenu();
                 CharSequence aTimeString;
                 long aTime = mCommunicationService.getSlideShow().getTimer()
                                 .getTimeMillis();
@@ -349,7 +345,6 @@ public class PresentationActivity extends FragmentActivity {
                                     System.currentTimeMillis());
                 }
                 mTimeLabel.setText(aTimeString);
-                // TODO: set the string
                 timerHandler.postDelayed(this, 50);
 
             }
diff --git a/android/sdremote/src/org/libreoffice/impressremote/PresentationFragment.java b/android/sdremote/src/org/libreoffice/impressremote/PresentationFragment.java
index 27d0f7e..21aeb49 100644
--- a/android/sdremote/src/org/libreoffice/impressremote/PresentationFragment.java
+++ b/android/sdremote/src/org/libreoffice/impressremote/PresentationFragment.java
@@ -23,7 +23,6 @@ import android.view.MotionEvent;
 import android.view.View;
 import android.view.View.OnTouchListener;
 import android.view.ViewGroup;
-import android.view.ViewGroup.LayoutParams;
 import android.webkit.WebView;
 import android.widget.AdapterView;
 import android.widget.AdapterView.OnItemSelectedListener;
@@ -128,7 +127,6 @@ public class PresentationFragment extends Fragment {
                 mHandle.setImageResource(R.drawable.handle_default);
                 break;
             case MotionEvent.ACTION_MOVE:
-                LayoutParams aParams = mTopView.getLayoutParams();
 
                 final int DRAG_MARGIN = 120;
 
@@ -188,7 +186,6 @@ public class PresentationFragment extends Fragment {
 
                 break;
             }
-            // TODO Auto-generated method stub
             return true;
         }
     }
@@ -237,10 +234,10 @@ public class PresentationFragment extends Fragment {
                 updateSlideNumberDisplay();
             } else if (aIntent.getAction().equals(
                             CommunicationService.MSG_SLIDE_PREVIEW)) {
-                int aNSlide = aIntent.getExtras().getInt("slide_number");
-                if (mTopView.getSelectedItemPosition() == aNSlide) {
-                    mTopView.setSelection(aNSlide);
-                }
+                // int aNSlide = aIntent.getExtras().getInt("slide_number");
+                ((ThumbnailAdapter) mTopView.getAdapter())
+                                .notifyDataSetChanged();
+                //                mTopView.requestLayout();
             } else if (aIntent.getAction().equals(
                             CommunicationService.MSG_SLIDE_NOTES)) {
                 // TODO: update me
diff --git a/android/sdremote/src/org/libreoffice/impressremote/SettingsActivity.java b/android/sdremote/src/org/libreoffice/impressremote/SettingsActivity.java
index 16c456e..b11f789 100644
--- a/android/sdremote/src/org/libreoffice/impressremote/SettingsActivity.java
+++ b/android/sdremote/src/org/libreoffice/impressremote/SettingsActivity.java
@@ -7,6 +7,7 @@ import com.actionbarsherlock.app.SherlockPreferenceActivity;
 public class SettingsActivity extends SherlockPreferenceActivity {
 
     // We use addPreferencesFromResource as we need sdk-9 compatibility
+    // but build with sdk 15
     @SuppressWarnings("deprecation")
     @Override
     protected void onCreate(Bundle savedInstanceState) {
diff --git a/android/sdremote/src/org/libreoffice/impressremote/StartPresentationActivity.java b/android/sdremote/src/org/libreoffice/impressremote/StartPresentationActivity.java
index 6868d93..77e1d57 100644
--- a/android/sdremote/src/org/libreoffice/impressremote/StartPresentationActivity.java
+++ b/android/sdremote/src/org/libreoffice/impressremote/StartPresentationActivity.java
@@ -47,7 +47,6 @@ public class StartPresentationActivity extends Activity {
         @Override
         public void onServiceConnected(ComponentName aClassName,
                         IBinder aService) {
-
             mCommunicationService = ((CommunicationService.CBinder) aService)
                             .getService();
 
@@ -62,6 +61,7 @@ public class StartPresentationActivity extends Activity {
         @Override
         public void onServiceDisconnected(ComponentName aClassName) {
             mCommunicationService = null;
+            mIsBound = false;
         }
     };
 
diff --git a/android/sdremote/src/pl/polidea/coverflow/AbstractCoverFlowImageAdapter.java b/android/sdremote/src/pl/polidea/coverflow/AbstractCoverFlowImageAdapter.java
index f60975f..514176e 100644
--- a/android/sdremote/src/pl/polidea/coverflow/AbstractCoverFlowImageAdapter.java
+++ b/android/sdremote/src/pl/polidea/coverflow/AbstractCoverFlowImageAdapter.java
@@ -1,9 +1,5 @@
 package pl.polidea.coverflow;
 
-import java.lang.ref.WeakReference;
-import java.util.HashMap;
-import java.util.Map;
-
 import android.content.Context;
 import android.graphics.Bitmap;
 import android.util.Log;
@@ -19,107 +15,87 @@ import android.widget.ImageView;
  */
 public abstract class AbstractCoverFlowImageAdapter extends BaseAdapter {
 
-	/** The Constant TAG. */
-	private static final String TAG = AbstractCoverFlowImageAdapter.class
-	                .getSimpleName();
-
-	/** The width. */
-	private float width = 0;
+    /** The Constant TAG. */
+    private static final String TAG = AbstractCoverFlowImageAdapter.class
+                    .getSimpleName();
 
-	/** The height. */
-	private float height = 0;
+    /** The width. */
+    private float width = 0;
 
-	/** The bitmap map. */
-	private final Map<Integer, WeakReference<Bitmap>> bitmapMap = new HashMap<Integer, WeakReference<Bitmap>>();
+    /** The height. */
+    private float height = 0;
 
-	public AbstractCoverFlowImageAdapter() {
-		super();
-	}
+    public AbstractCoverFlowImageAdapter() {
+        super();
+    }
 
-	/**
-	 * Set width for all pictures.
-	 *
-	 * @param width
-	 *            picture height
-	 */
-	public synchronized void setWidth(final float width) {
-		this.width = width;
-	}
+    /**
+     * Set width for all pictures.
+     *
+     * @param width
+     *            picture height
+     */
+    public synchronized void setWidth(final float width) {
+        this.width = width;
+    }
 
-	/**
-	 * Set height for all pictures.
-	 *
-	 * @param height
-	 *            picture height
-	 */
-	public synchronized void setHeight(final float height) {
-		this.height = height;
-	}
+    /**
+     * Set height for all pictures.
+     *
+     * @param height
+     *            picture height
+     */
+    public synchronized void setHeight(final float height) {
+        this.height = height;
+    }
 
-	@Override
-	public final Bitmap getItem(final int position) {
-		final WeakReference<Bitmap> weakBitmapReference = bitmapMap
-		                .get(position);
-		if (weakBitmapReference != null) {
-			final Bitmap bitmap = weakBitmapReference.get();
-			if (bitmap == null) {
-				Log.v(TAG, "Empty bitmap reference at position: " + position
-				                + ":" + this);
-			} else {
-				Log.v(TAG, "Reusing bitmap item at position: " + position + ":"
-				                + this);
-				return bitmap;
-			}
-		}
-		Log.v(TAG, "Creating item at position: " + position + ":" + this);
-		final Bitmap bitmap = createBitmap(position);
-		bitmapMap.put(position, new WeakReference<Bitmap>(bitmap));
-		Log.v(TAG, "Created item at position: " + position + ":" + this);
-		return bitmap;
-	}
+    @Override
+    public final Bitmap getItem(final int position) {
+        return createBitmap(position);
+    }
 
-	/**
-	 * Creates new bitmap for the position specified.
-	 *
-	 * @param position
-	 *            position
-	 * @return Bitmap created
-	 */
-	protected abstract Bitmap createBitmap(int position);
+    /**
+     * Creates new bitmap for the position specified.
+     *
+     * @param position
+     *            position
+     * @return Bitmap created
+     */
+    protected abstract Bitmap createBitmap(int position);
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see android.widget.Adapter#getItemId(int)
-	 */
-	@Override
-	public final synchronized long getItemId(final int position) {
-		return position;
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see android.widget.Adapter#getItemId(int)
+     */
+    @Override
+    public final synchronized long getItemId(final int position) {
+        return position;
+    }
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see android.widget.Adapter#getView(int, android.view.View,
-	 * android.view.ViewGroup)
-	 */
-	@Override
-	public final synchronized ImageView getView(final int position,
-	                final View convertView, final ViewGroup parent) {
-		ImageView imageView;
-		if (convertView == null) {
-			final Context context = parent.getContext();
-			Log.v(TAG, "Creating Image view at position: " + position + ":"
-			                + this);
-			imageView = new ImageView(context);
-			imageView.setLayoutParams(new CoverFlow.LayoutParams((int) width,
-			                (int) height));
-		} else {
-			Log.v(TAG, "Reusing view at position: " + position + ":" + this);
-			imageView = (ImageView) convertView;
-		}
-		imageView.setImageBitmap(getItem(position));
-		return imageView;
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see android.widget.Adapter#getView(int, android.view.View,
+     * android.view.ViewGroup)
+     */
+    @Override
+    public final synchronized ImageView getView(final int position,
+                    final View convertView, final ViewGroup parent) {
+        ImageView imageView;
+        if (convertView == null) {
+            final Context context = parent.getContext();
+            Log.v(TAG, "Creating Image view at position: " + position + ":"
+                            + this);
+            imageView = new ImageView(context);
+            imageView.setLayoutParams(new CoverFlow.LayoutParams((int) width,
+                            (int) height));
+        } else {
+            Log.v(TAG, "Reusing view at position: " + position + ":" + this);
+            imageView = (ImageView) convertView;
+        }
+        imageView.setImageBitmap(getItem(position));
+        return imageView;
+    }
 
 }


More information about the Libreoffice-commits mailing list