packages/apps/FileManager
Revision | 119ce1ef21e3065e2fb51de288885bdbda087325 (tree) |
---|---|
Zeit | 2011-07-01 09:04:58 |
Autor | Joe Berria <nexesdevelopment@gmai...> |
Commiter | Joe Berria |
fixed force close when leaving folder before thumbnail icons are done loading
@@ -189,7 +189,7 @@ | ||
189 | 189 | android:textColor="@color/white" |
190 | 190 | android:gravity="left" |
191 | 191 | android:textAppearance="?android:attr/textAppearanceMedium" |
192 | - android:text="Excecute: "/> | |
192 | + android:text="Execute: "/> | |
193 | 193 | <TextView |
194 | 194 | android:id="@+id/info_execute_perm" |
195 | 195 | android:layout_width="match_parent" |
@@ -36,7 +36,6 @@ import android.widget.ListView; | ||
36 | 36 | import android.widget.ImageView; |
37 | 37 | import android.widget.TextView; |
38 | 38 | import android.widget.Toast; |
39 | -import android.util.Log; | |
40 | 39 | |
41 | 40 | import java.util.ArrayList; |
42 | 41 | import java.util.Date; |
@@ -30,6 +30,8 @@ import android.app.Fragment; | ||
30 | 30 | import android.os.Bundle; |
31 | 31 | import android.os.Handler; |
32 | 32 | import android.os.Message; |
33 | +import android.content.ClipData; | |
34 | +import android.content.ClipDescription; | |
33 | 35 | import android.content.Context; |
34 | 36 | import android.content.Intent; |
35 | 37 | import android.content.ActivityNotFoundException; |
@@ -41,7 +43,6 @@ import android.view.Menu; | ||
41 | 43 | import android.view.MenuItem; |
42 | 44 | import android.view.View; |
43 | 45 | import android.view.ViewGroup; |
44 | -import android.widget.ImageView.ScaleType; | |
45 | 46 | import android.widget.Toast; |
46 | 47 | import android.widget.ArrayAdapter; |
47 | 48 | import android.widget.LinearLayout; |
@@ -54,7 +55,6 @@ import android.widget.AdapterView; | ||
54 | 55 | import android.widget.AdapterView.OnItemClickListener; |
55 | 56 | import android.widget.AdapterView.OnItemLongClickListener; |
56 | 57 | import android.net.Uri; |
57 | -import android.util.Log; | |
58 | 58 | |
59 | 59 | public class DirContentActivity extends Fragment implements OnItemClickListener, |
60 | 60 | OnSetingsChangeListener, |
@@ -411,8 +411,8 @@ public class DirContentActivity extends Fragment implements OnItemClickListener, | ||
411 | 411 | } else if(!mShowGrid) { |
412 | 412 | mDelegate = new DataAdapter(mContext, R.layout.list_content_layout, mData); |
413 | 413 | mList.setVisibility(View.VISIBLE); |
414 | - mList.setOnItemClickListener(this); | |
415 | 414 | mList.setAdapter(mDelegate); |
415 | + mList.setOnItemClickListener(this); | |
416 | 416 | mList.setOnItemLongClickListener(new OnItemLongClickListener() { |
417 | 417 | |
418 | 418 | @Override |
@@ -457,7 +457,7 @@ public class DirContentActivity extends Fragment implements OnItemClickListener, | ||
457 | 457 | |
458 | 458 | v.setOnClickListener(new View.OnClickListener() { |
459 | 459 | @Override |
460 | - public void onClick(View v) { | |
460 | + public void onClick(View v) { | |
461 | 461 | int ret = mMultiSelect.clearFileEntry(file.getPath()); |
462 | 462 | mMultiSelectView.removeViewAt(ret); |
463 | 463 | } |
@@ -468,8 +468,10 @@ public class DirContentActivity extends Fragment implements OnItemClickListener, | ||
468 | 468 | } |
469 | 469 | |
470 | 470 | if(file.isDirectory() && !mActionModeSelected ) { |
471 | - if (mThumbnail != null) | |
471 | + if (mThumbnail != null) { | |
472 | + mThumbnail.setCancelThumbnails(true); | |
472 | 473 | mThumbnail = null; |
474 | + } | |
473 | 475 | |
474 | 476 | addBackButton(name, true); |
475 | 477 |
@@ -620,8 +622,10 @@ public class DirContentActivity extends Fragment implements OnItemClickListener, | ||
620 | 622 | if(mActionModeSelected || mMultiSelectOn) |
621 | 623 | return; |
622 | 624 | |
623 | - if (mThumbnail != null) | |
625 | + if (mThumbnail != null) { | |
626 | + mThumbnail.setCancelThumbnails(true); | |
624 | 627 | mThumbnail = null; |
628 | + } | |
625 | 629 | |
626 | 630 | mData = mFileMang.setHomeDir(name); |
627 | 631 | mDelegate.notifyDataSetChanged(); |
@@ -846,6 +850,11 @@ public class DirContentActivity extends Fragment implements OnItemClickListener, | ||
846 | 850 | if(mActionModeSelected || mMultiSelectOn) |
847 | 851 | return; |
848 | 852 | |
853 | + if (mThumbnail != null) { | |
854 | + mThumbnail.setCancelThumbnails(true); | |
855 | + mThumbnail = null; | |
856 | + } | |
857 | + | |
849 | 858 | if(index != (mPathView.getChildCount() - 1)) { |
850 | 859 | while(index < mPathView.getChildCount() - 1) |
851 | 860 | mPathView.removeViewAt(mPathView.getChildCount() - 1); |
@@ -41,7 +41,6 @@ import android.widget.EditText; | ||
41 | 41 | import android.widget.ArrayAdapter; |
42 | 42 | import android.widget.AdapterView.AdapterContextMenuInfo; |
43 | 43 | import android.widget.Toast; |
44 | -import android.util.Log; | |
45 | 44 | |
46 | 45 | import java.util.ArrayList; |
47 | 46 | import java.io.File; |
@@ -30,7 +30,6 @@ import android.widget.Toast; | ||
30 | 30 | import android.widget.EditText; |
31 | 31 | import android.widget.TextView; |
32 | 32 | import android.net.Uri; |
33 | -import android.util.Log; | |
34 | 33 | |
35 | 34 | import java.util.ArrayList; |
36 | 35 | import java.io.File; |
@@ -30,7 +30,6 @@ import android.view.Menu; | ||
30 | 30 | import android.view.MenuItem; |
31 | 31 | import android.widget.SearchView; |
32 | 32 | import android.widget.Toast; |
33 | -import android.util.Log; | |
34 | 33 | |
35 | 34 | import java.io.File; |
36 | 35 | import java.util.ArrayList; |
@@ -2,11 +2,9 @@ package com.nexes.manager.tablet; | ||
2 | 2 | |
3 | 3 | import android.content.Context; |
4 | 4 | import android.view.View; |
5 | -import android.graphics.Bitmap; | |
6 | 5 | import android.view.LayoutInflater; |
7 | 6 | import android.widget.ImageView; |
8 | 7 | import android.widget.TextView; |
9 | -import android.util.Log; | |
10 | 8 | |
11 | 9 | import java.util.ArrayList; |
12 | 10 | import java.io.File; |
@@ -71,9 +69,7 @@ public class MultiSelectHandler { | ||
71 | 69 | public void cancelMultiSelect() { |
72 | 70 | mFileList.clear(); |
73 | 71 | mFileList = null; |
74 | - mInstance = null; | |
75 | - | |
76 | - Log.e("MULTISELECT", "cancel called"); | |
72 | + mInstance = null; | |
77 | 73 | } |
78 | 74 | |
79 | 75 | private void setImage(String extension, ImageView image) { |
@@ -38,6 +38,7 @@ public class ThumbnailCreator extends Thread { | ||
38 | 38 | private ArrayList<String> mFiles; |
39 | 39 | private String mDir; |
40 | 40 | private Handler mHandler; |
41 | + private boolean mStop = false; | |
41 | 42 | |
42 | 43 | public ThumbnailCreator(int width, int height) { |
43 | 44 | mHeight = height; |
@@ -50,12 +51,28 @@ public class ThumbnailCreator extends Thread { | ||
50 | 51 | public BitmapDrawable isBitmapCached(String name) { |
51 | 52 | return mCacheMap.get(name); |
52 | 53 | } |
54 | + | |
55 | + public void createNewThumbnail(ArrayList<String> files, String dir, Handler handler) { | |
56 | + this.mFiles = files; | |
57 | + this.mDir = dir; | |
58 | + this.mHandler = handler; | |
59 | + } | |
60 | + | |
61 | + public void setCancelThumbnails(boolean stop) { | |
62 | + mStop = stop; | |
63 | + } | |
53 | 64 | |
54 | 65 | @Override |
55 | 66 | public void run() { |
56 | 67 | int len = mFiles.size(); |
57 | 68 | |
58 | - for (int i = 0; i < len; i++) { | |
69 | + for (int i = 0; i < len; i++) { | |
70 | + if (mStop) { | |
71 | + mStop = false; | |
72 | + mFiles = null; | |
73 | + return; | |
74 | + } | |
75 | + | |
59 | 76 | final File file = new File(mDir + "/" + mFiles.get(i)); |
60 | 77 | |
61 | 78 | if (isImageFile(file.getName())) { |
@@ -103,12 +120,6 @@ public class ThumbnailCreator extends Thread { | ||
103 | 120 | } |
104 | 121 | } |
105 | 122 | |
106 | - public void createNewThumbnail(ArrayList<String> files, String dir, Handler handler) { | |
107 | - this.mFiles = files; | |
108 | - this.mDir = dir; | |
109 | - this.mHandler = handler; | |
110 | - } | |
111 | - | |
112 | 123 | private boolean isImageFile(String file) { |
113 | 124 | String ext = file.substring(file.lastIndexOf(".") + 1); |
114 | 125 |