OSDN Git Service

fixed force close when leaving folder before thumbnail icons are done loading
authorJoe Berria <nexesdevelopment@gmail.com>
Fri, 1 Jul 2011 00:04:58 +0000 (18:04 -0600)
committerJoe Berria <nexesdevelopment@gmail.com>
Fri, 1 Jul 2011 00:04:58 +0000 (18:04 -0600)
bin/Tablet_File_Manager.apk
bin/classes.dex
bin/resources.ap_
res/layout/info_layout.xml
src/com/nexes/manager/tablet/DialogHandler.java
src/com/nexes/manager/tablet/DirContentActivity.java
src/com/nexes/manager/tablet/DirListActivity.java
src/com/nexes/manager/tablet/EventHandler.java
src/com/nexes/manager/tablet/MainActivity.java
src/com/nexes/manager/tablet/MultiSelectHandler.java
src/com/nexes/manager/tablet/ThumbnailCreator.java

index 178f217..89b626a 100644 (file)
Binary files a/bin/Tablet_File_Manager.apk and b/bin/Tablet_File_Manager.apk differ
index 606486f..09268ac 100644 (file)
Binary files a/bin/classes.dex and b/bin/classes.dex differ
index ff030b1..05f5d79 100644 (file)
Binary files a/bin/resources.ap_ and b/bin/resources.ap_ differ
index 4b17bc7..69fde9c 100644 (file)
                                                android:textColor="@color/white"
                                                android:gravity="left"
                                                android:textAppearance="?android:attr/textAppearanceMedium"
-                                               android:text="Excecute: "/>
+                                               android:text="Execute: "/>
                                        <TextView
                                                android:id="@+id/info_execute_perm"
                                                android:layout_width="match_parent"
index be8a7cb..5f7ebbf 100644 (file)
@@ -36,7 +36,6 @@ import android.widget.ListView;
 import android.widget.ImageView;
 import android.widget.TextView;
 import android.widget.Toast;
-import android.util.Log;
 
 import java.util.ArrayList;
 import java.util.Date;
index 6d61f9a..2f74022 100644 (file)
@@ -30,6 +30,8 @@ import android.app.Fragment;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
+import android.content.ClipData;
+import android.content.ClipDescription;
 import android.content.Context;
 import android.content.Intent;
 import android.content.ActivityNotFoundException;
@@ -41,7 +43,6 @@ import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
-import android.widget.ImageView.ScaleType;
 import android.widget.Toast;
 import android.widget.ArrayAdapter;
 import android.widget.LinearLayout;
@@ -54,7 +55,6 @@ import android.widget.AdapterView;
 import android.widget.AdapterView.OnItemClickListener;
 import android.widget.AdapterView.OnItemLongClickListener;
 import android.net.Uri;
-import android.util.Log;
 
 public class DirContentActivity extends Fragment implements OnItemClickListener,
                                                                                                                        OnSetingsChangeListener,
@@ -411,8 +411,8 @@ public class DirContentActivity extends Fragment implements OnItemClickListener,
                } else if(!mShowGrid) {
                        mDelegate = new DataAdapter(mContext, R.layout.list_content_layout, mData);
                        mList.setVisibility(View.VISIBLE);      
-                       mList.setOnItemClickListener(this);
                        mList.setAdapter(mDelegate);
+                       mList.setOnItemClickListener(this);
                        mList.setOnItemLongClickListener(new OnItemLongClickListener() {
 
                                @Override
@@ -457,7 +457,7 @@ public class DirContentActivity extends Fragment implements OnItemClickListener,
                        
                        v.setOnClickListener(new View.OnClickListener() {
                                @Override
-                               public void onClick(View v) {
+                               public void onClick(View v) {                                   
                                        int ret = mMultiSelect.clearFileEntry(file.getPath());
                                        mMultiSelectView.removeViewAt(ret);
                                }
@@ -468,8 +468,10 @@ public class DirContentActivity extends Fragment implements OnItemClickListener,
                }
                
                if(file.isDirectory() && !mActionModeSelected ) {
-                       if (mThumbnail != null)
+                       if (mThumbnail != null) {
+                               mThumbnail.setCancelThumbnails(true);
                                mThumbnail = null;
+                       }
                        
                        addBackButton(name, true);
 
@@ -620,8 +622,10 @@ public class DirContentActivity extends Fragment implements OnItemClickListener,
                if(mActionModeSelected || mMultiSelectOn)
                        return;
                
-               if (mThumbnail != null)
+               if (mThumbnail != null) {
+                       mThumbnail.setCancelThumbnails(true);
                        mThumbnail = null;
+               }
                
                mData = mFileMang.setHomeDir(name);
                mDelegate.notifyDataSetChanged();
@@ -846,6 +850,11 @@ public class DirContentActivity extends Fragment implements OnItemClickListener,
                                if(mActionModeSelected || mMultiSelectOn)
                                        return;
                                
+                               if (mThumbnail != null) {
+                                       mThumbnail.setCancelThumbnails(true);
+                                       mThumbnail = null;
+                               }
+                               
                                if(index != (mPathView.getChildCount() - 1)) {
                                        while(index < mPathView.getChildCount() - 1)
                                                mPathView.removeViewAt(mPathView.getChildCount() - 1);
index 72526c9..e09dafb 100644 (file)
@@ -41,7 +41,6 @@ import android.widget.EditText;
 import android.widget.ArrayAdapter;
 import android.widget.AdapterView.AdapterContextMenuInfo;
 import android.widget.Toast;
-import android.util.Log;
 
 import java.util.ArrayList;
 import java.io.File;
index 19d6df5..8bbfdcb 100644 (file)
@@ -30,7 +30,6 @@ import android.widget.Toast;
 import android.widget.EditText;
 import android.widget.TextView;
 import android.net.Uri;
-import android.util.Log;
 
 import java.util.ArrayList;
 import java.io.File;
index 377f685..5486d05 100644 (file)
@@ -30,7 +30,6 @@ import android.view.Menu;
 import android.view.MenuItem;
 import android.widget.SearchView;
 import android.widget.Toast;
-import android.util.Log;
 
 import java.io.File;
 import java.util.ArrayList;
index bdc4e83..e0cd5a9 100644 (file)
@@ -2,11 +2,9 @@ package com.nexes.manager.tablet;
 
 import android.content.Context;
 import android.view.View;
-import android.graphics.Bitmap;
 import android.view.LayoutInflater;
 import android.widget.ImageView;
 import android.widget.TextView;
-import android.util.Log;
 
 import java.util.ArrayList;
 import java.io.File;
@@ -71,9 +69,7 @@ public class MultiSelectHandler {
        public void cancelMultiSelect() {
                mFileList.clear();
                mFileList = null;
-               mInstance = null;
-               
-               Log.e("MULTISELECT", "cancel called");
+               mInstance = null;               
        }
        
        private void setImage(String extension, ImageView image) {
index d0026c1..4634c67 100644 (file)
@@ -38,6 +38,7 @@ public class ThumbnailCreator extends Thread {
        private ArrayList<String> mFiles;
        private String mDir;
        private Handler mHandler;
+       private boolean mStop = false;
 
        public ThumbnailCreator(int width, int height) {
                mHeight = height;
@@ -50,12 +51,28 @@ public class ThumbnailCreator extends Thread {
        public BitmapDrawable isBitmapCached(String name) {
                return mCacheMap.get(name);
        }
+       
+       public void createNewThumbnail(ArrayList<String> files,  String dir,  Handler handler) {
+               this.mFiles = files;
+               this.mDir = dir;
+               this.mHandler = handler;                
+       }
+       
+       public void setCancelThumbnails(boolean stop) {
+               mStop = stop;
+       }
 
        @Override
        public void run() {
                int len = mFiles.size();
                
-               for (int i = 0; i < len; i++) {                 
+               for (int i = 0; i < len; i++) { 
+                       if (mStop) {
+                               mStop = false;
+                               mFiles = null;
+                               return;
+                       }
+                       
                        final File file = new File(mDir + "/" + mFiles.get(i));
                        
                        if (isImageFile(file.getName())) {
@@ -103,12 +120,6 @@ public class ThumbnailCreator extends Thread {
                }
        }
        
-       public void createNewThumbnail(ArrayList<String> files,  String dir,  Handler handler) {
-               this.mFiles = files;
-               this.mDir = dir;
-               this.mHandler = handler;                
-       }
-       
        private boolean isImageFile(String file) {
                String ext = file.substring(file.lastIndexOf(".") + 1);