diff --git a/app/build.gradle b/app/build.gradle index fa959ba..dcad6f0 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -44,7 +44,7 @@ dependencies { // implementation fileTree(dir: "../pathselector/build/outputs/aar/", includes: ["*-release.aar", "*.jar"]) // implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.11' -// implementation 'com.github.getActivity:XXPermissions:16.2' + implementation 'com.github.getActivity:XXPermissions:16.5' //调试用 diff --git a/app/release/app-release.apk b/app/release/app-release.apk index 4658cef..43c3395 100644 Binary files a/app/release/app-release.apk and b/app/release/app-release.apk differ diff --git a/app/src/main/java/com/molihuan/pathselectdemo/activity/MainActivity.java b/app/src/main/java/com/molihuan/pathselectdemo/activity/MainActivity.java index 1de5d71..b15d74c 100644 --- a/app/src/main/java/com/molihuan/pathselectdemo/activity/MainActivity.java +++ b/app/src/main/java/com/molihuan/pathselectdemo/activity/MainActivity.java @@ -87,7 +87,6 @@ private void setListeners() { @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); } @@ -114,6 +113,7 @@ public void onClick(View v) { new CustomTitlebarFragment(), "55" ); + break; case R.id.btn_custom_filebean_img_selector: customFilebeanImgSelectShow(); @@ -128,6 +128,7 @@ public void onClick(View v) { private void dialogSelectShow() { //获取PathSelectFragment实例onBackPressed中处理返回按钮点击事件 selector = PathSelector.build(MainActivity.this, MConstants.BUILD_DIALOG) + .setRootPath("/storage/emulated/0/bilibili视频合并/") .setMorePopupItemListeners( new CommonItemListener("SelectAll") { @Override @@ -378,7 +379,7 @@ public int getFileBeanImageResource(boolean isDir, String extension, FileBean fi break; case "mp4": //也可以使用默认的图片资源id - resourceId = com.molihuan.pathselector.R.mipmap.movie; + resourceId = com.molihuan.pathselector.R.mipmap.movie_mlh; break; default: if (isDir) { diff --git a/pathselector/build.gradle b/pathselector/build.gradle index 8865c0f..470bffa 100644 --- a/pathselector/build.gradle +++ b/pathselector/build.gradle @@ -33,13 +33,14 @@ android { dependencies { //TODO 精简工具包,去除不需要的工具类 //精简https://github.com/Blankj/AndroidUtilCode工具 - + //For offline integration, please change the next line to implementation project(path: ':AndroidUtilCode') and copy the AndroidUtilCode folder to your project, because it depends on the AndroidUtilCode tool. embed project(path: ':AndroidUtilCode', configuration: 'default') + //embed(name: 'XXPermissions-16.2', ext: 'aar') //权限申请框架 - implementation 'com.github.getActivity:XXPermissions:16.5' + implementation 'com.github.getActivity:XXPermissions:16.6' //万能适配器 implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.11' diff --git a/pathselector/src/main/java/com/molihuan/pathselector/controller/impl/FileBeanControllerImpl.java b/pathselector/src/main/java/com/molihuan/pathselector/controller/impl/FileBeanControllerImpl.java index 12f39c6..77ba0f0 100644 --- a/pathselector/src/main/java/com/molihuan/pathselector/controller/impl/FileBeanControllerImpl.java +++ b/pathselector/src/main/java/com/molihuan/pathselector/controller/impl/FileBeanControllerImpl.java @@ -19,59 +19,59 @@ public int getFileBeanImageResource(boolean isDir, String extension, FileBean fi int resourceId; switch (extension) { case "apk": - resourceId = R.mipmap.apk; + resourceId = R.mipmap.apk_mlh; break; case "avi": - resourceId = R.mipmap.avi; + resourceId = R.mipmap.avi_mlh; break; case "doc": case "docx": - resourceId = R.mipmap.doc; + resourceId = R.mipmap.doc_mlh; break; case "exe": - resourceId = R.mipmap.exe; + resourceId = R.mipmap.exe_mlh; break; case "flv": - resourceId = R.mipmap.flv; + resourceId = R.mipmap.flv_mlh; break; case "gif": - resourceId = R.mipmap.gif; + resourceId = R.mipmap.gif_mlh; break; case "jpg": case "jpeg": case "png": - resourceId = R.mipmap.png; + resourceId = R.mipmap.png_mlh; break; case "mp3": - resourceId = R.mipmap.mp3; + resourceId = R.mipmap.mp3_mlh; break; case "mp4": case "f4v": - resourceId = R.mipmap.movie; + resourceId = R.mipmap.movie_mlh; break; case "pdf": - resourceId = R.mipmap.pdf; + resourceId = R.mipmap.pdf_mlh; break; case "ppt": case "pptx": - resourceId = R.mipmap.ppt; + resourceId = R.mipmap.ppt_mlh; break; case "wav": - resourceId = R.mipmap.wav; + resourceId = R.mipmap.wav_mlh; break; case "xls": case "xlsx": - resourceId = R.mipmap.xls; + resourceId = R.mipmap.xls_mlh; break; case "zip": - resourceId = R.mipmap.zip; + resourceId = R.mipmap.zip_mlh; break; case "ext": default: if (isDir) { - resourceId = R.mipmap.folder; + resourceId = R.mipmap.folder_mlh; } else { - resourceId = R.mipmap.documents; + resourceId = R.mipmap.documents_mlh; } break; } diff --git a/pathselector/src/main/java/com/molihuan/pathselector/dialog/BaseDialog.java b/pathselector/src/main/java/com/molihuan/pathselector/dialog/BaseDialog.java index e290395..0e907e7 100644 --- a/pathselector/src/main/java/com/molihuan/pathselector/dialog/BaseDialog.java +++ b/pathselector/src/main/java/com/molihuan/pathselector/dialog/BaseDialog.java @@ -5,7 +5,6 @@ import android.os.Bundle; import android.view.View; -import androidx.annotation.CallSuper; import androidx.annotation.LayoutRes; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -65,7 +64,7 @@ protected void onCreate(Bundle savedInstanceState) { public abstract void getComponents(); - @CallSuper + public void initData() { psf = (BasePathSelectFragment) mConfigData.fragmentManager.findFragmentByTag(MConstants.TAG_ACTIVITY_FRAGMENT); } diff --git a/pathselector/src/main/java/com/molihuan/pathselector/dialog/impl/MessageDialog.java b/pathselector/src/main/java/com/molihuan/pathselector/dialog/impl/MessageDialog.java index 9d5452b..041bedf 100644 --- a/pathselector/src/main/java/com/molihuan/pathselector/dialog/impl/MessageDialog.java +++ b/pathselector/src/main/java/com/molihuan/pathselector/dialog/impl/MessageDialog.java @@ -74,7 +74,7 @@ public void getComponents() { @Override public void initData() { - super.initData(); + } diff --git a/pathselector/src/main/java/com/molihuan/pathselector/fragment/impl/FileShowFragment.java b/pathselector/src/main/java/com/molihuan/pathselector/fragment/impl/FileShowFragment.java index 35b3941..75a3afa 100644 --- a/pathselector/src/main/java/com/molihuan/pathselector/fragment/impl/FileShowFragment.java +++ b/pathselector/src/main/java/com/molihuan/pathselector/fragment/impl/FileShowFragment.java @@ -19,6 +19,7 @@ import com.molihuan.pathselector.service.impl.PathFileManager; import com.molihuan.pathselector.utils.CommonTools; import com.molihuan.pathselector.utils.FileTools; +import com.molihuan.pathselector.utils.MConstants; import com.molihuan.pathselector.utils.Mtools; import com.xuexiang.xtask.XTask; import com.xuexiang.xtask.core.ITaskChainEngine; @@ -249,7 +250,7 @@ public void onItemClick(@NonNull BaseQuickAdapter adapter, @NonNull View v selectedNumber++; } else { //超过选择的最大数量 - Mtools.toast(getString(R.string.tip_filebeanitem_select_limit_exceeded)); + Mtools.toast(getString(R.string.tip_filebeanitem_select_limit_exceeded_mlh)); } @@ -265,9 +266,16 @@ public void onItemClick(@NonNull BaseQuickAdapter adapter, @NonNull View v //如果是返回FileBean if (position == 0) { - updateFileList(item.getPath());//更新当前路径 + String path = item.getPath(); + //如果当前路径比"/storage/emulated/0"还短则设置currentPath为"/storage/emulated/0" + if (path.length() <= MConstants.DEFAULT_ROOTPATH.length() && (!MConstants.DEFAULT_ROOTPATH.equals(path))) { + Mtools.toast(String.format(getString(R.string.tips_path_jump_error_exceeds_default_path_mlh), path, MConstants.DEFAULT_ROOTPATH)); + path = MConstants.DEFAULT_ROOTPATH; + } + + updateFileList(path);//更新当前路径 //刷新面包屑 - psf.updateTabbarList(); + psf.updateTabbarList(path); return; } diff --git a/pathselector/src/main/java/com/molihuan/pathselector/fragment/impl/PathSelectFragment.java b/pathselector/src/main/java/com/molihuan/pathselector/fragment/impl/PathSelectFragment.java index dabf03b..52981ed 100644 --- a/pathselector/src/main/java/com/molihuan/pathselector/fragment/impl/PathSelectFragment.java +++ b/pathselector/src/main/java/com/molihuan/pathselector/fragment/impl/PathSelectFragment.java @@ -66,7 +66,7 @@ public int setFragmentViewId() { public void getComponents(View view) { } - + @Override public void initData() { @@ -83,6 +83,7 @@ public void initData() { } + @Override public void initView() { showAllFragment(); @@ -187,61 +188,100 @@ public boolean isMultipleSelectionMode() { @Override public TabbarListAdapter getTabbarListAdapter() { + if (tabbarFragment == null) { + return null; + } return tabbarFragment.getTabbarListAdapter(); } @Override public List getTabbarList() { + if (tabbarFragment == null) { + return null; + } return tabbarFragment.getTabbarList(); } @Override public List updateTabbarList() { //设置了不显示TabbarFragment则返回null - if (mConfigData.showTabbarFragment) { + if (mConfigData.showTabbarFragment && tabbarFragment != null) { return tabbarFragment.updateTabbarList(); } else { return null; } } + @Override + public List updateTabbarList(String path) { + if (mConfigData.showTabbarFragment && tabbarFragment != null) { + return tabbarFragment.updateTabbarList(path); + } else { + return null; + } + } + @Override public void refreshTabbarList() { + if (tabbarFragment == null) { + return; + } tabbarFragment.refreshTabbarList(); } @Override public List getHandleItemListeners() { + if (handleFragment == null) { + return null; + } return handleFragment.getHandleItemListeners(); } @Override public HandleListAdapter getHandleListAdapter() { + if (handleFragment == null) { + return null; + } return handleFragment.getHandleListAdapter(); } @Override public void refreshHandleList() { + if (handleFragment == null) { + return; + } handleFragment.refreshHandleList(); } @Override public MorePopupAdapter getMorePopupAdapter() { + if (titlebarFragment == null) { + return null; + } return titlebarFragment.getMorePopupAdapter(); } @Override public List getMorePopupItemListeners() { + if (titlebarFragment == null) { + return null; + } return titlebarFragment.getMorePopupItemListeners(); } @Override public void refreshMorePopup() { + if (titlebarFragment == null) { + return; + } titlebarFragment.refreshMorePopup(); } @Override public TextView getOnlyOneMorePopupTextView() { + if (titlebarFragment == null) { + return null; + } return titlebarFragment.getOnlyOneMorePopupTextView(); } @@ -267,15 +307,17 @@ public void onActivityResult(int requestCode, int resultCode, @Nullable Intent d //保存这个uri目录的访问权限 if (VersionTool.isAndroid11()) { if (requestCode == PermissionsTools.PERMISSION_REQUEST_CODE) { - Uri uri; - if ((uri = data.getData()) != null) { - mActivity.getContentResolver() - .takePersistableUriPermission(uri, - data.getFlags() & (Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION) - ); + if (data != null) { + Uri uri; + if ((uri = data.getData()) != null) { + mActivity.getContentResolver() + .takePersistableUriPermission(uri, + data.getFlags() & (Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION) + ); + } + //更新列表数据 + fileShowFragment.updateFileList(); } - //更新列表数据 - fileShowFragment.updateFileList(); } } super.onActivityResult(requestCode, resultCode, data); diff --git a/pathselector/src/main/java/com/molihuan/pathselector/fragment/impl/TabbarFragment.java b/pathselector/src/main/java/com/molihuan/pathselector/fragment/impl/TabbarFragment.java index bb7bb0f..ff98d41 100644 --- a/pathselector/src/main/java/com/molihuan/pathselector/fragment/impl/TabbarFragment.java +++ b/pathselector/src/main/java/com/molihuan/pathselector/fragment/impl/TabbarFragment.java @@ -17,6 +17,8 @@ import com.molihuan.pathselector.fragment.AbstractTabbarFragment; import com.molihuan.pathselector.service.IFileDataManager; import com.molihuan.pathselector.service.impl.PathFileManager; +import com.molihuan.pathselector.utils.MConstants; +import com.molihuan.pathselector.utils.Mtools; import com.xuexiang.xtask.XTask; import com.xuexiang.xtask.core.ITaskChainEngine; import com.xuexiang.xtask.core.param.ITaskResult; @@ -121,14 +123,18 @@ private List initTabbarList() { @Override public List updateTabbarList() { + return updateTabbarList(psf.getCurrentPath()); + } + @Override + public List updateTabbarList(String path) { //开始异步获取数据 XTask.getTaskChain() .addTask(XTask.getTask(new TaskCommand() { @Override public void run() throws Exception { //TODO 开始异步处理数据 - tabbarList = pathFileManager.updateTabbarList(initPath, psf.getCurrentPath(), tabbarList, tabbarListAdapter); + tabbarList = pathFileManager.updateTabbarList(initPath, path, tabbarList, tabbarListAdapter); } })) @@ -156,8 +162,16 @@ public void refreshTabbarList() { public void onItemClick(@NonNull BaseQuickAdapter adapter, @NonNull View v, int position) { if (adapter instanceof TabbarListAdapter) { TabbarFileBean item = tabbarList.get(position); - psf.updateFileList(item.getPath()); - updateTabbarList(); + String path = item.getPath(); + + //如果当前路径比"/storage/emulated/0"还短则设置currentPath为"/storage/emulated/0" + if (path.length() <= MConstants.DEFAULT_ROOTPATH.length() && (!MConstants.DEFAULT_ROOTPATH.equals(path))) { + Mtools.toast(String.format(getString(R.string.tips_path_jump_error_exceeds_default_path_mlh), path, MConstants.DEFAULT_ROOTPATH)); + path = MConstants.DEFAULT_ROOTPATH; + } + + psf.updateFileList(path); + updateTabbarList(path); } } } diff --git a/pathselector/src/main/java/com/molihuan/pathselector/interfaces/ITabbarFragment.java b/pathselector/src/main/java/com/molihuan/pathselector/interfaces/ITabbarFragment.java index 634272a..5175166 100644 --- a/pathselector/src/main/java/com/molihuan/pathselector/interfaces/ITabbarFragment.java +++ b/pathselector/src/main/java/com/molihuan/pathselector/interfaces/ITabbarFragment.java @@ -19,6 +19,8 @@ public interface ITabbarFragment { List updateTabbarList(); + List updateTabbarList(String path); + /** * 刷新 TabbarList ui * diff --git a/pathselector/src/main/java/com/molihuan/pathselector/service/BaseFileManager.java b/pathselector/src/main/java/com/molihuan/pathselector/service/BaseFileManager.java index 00bc0d8..d234f58 100644 --- a/pathselector/src/main/java/com/molihuan/pathselector/service/BaseFileManager.java +++ b/pathselector/src/main/java/com/molihuan/pathselector/service/BaseFileManager.java @@ -199,9 +199,8 @@ public List initTabbarList(String initPath, List //tabbarList.add(new TabbarFileBean(initPath, "Storage", MConstants.TABBARFILEBEAN_INIT_FLAG)); break; default://如果已经有了就修改,并且把0索引后面的实例都进行赋值null初始化 - tabbarList.get(0).setPath(initPath); - for (int i = 1; i < tabbarList.size(); i++) { - tabbarList.get(i).clear(); + for (int i = tabbarList.size() - 1; i >= 0; i--) { + tabbarList.remove(i); } } return tabbarList; @@ -220,49 +219,36 @@ public List clearTabbarListCache(List tabbarList @Override public List updateTabbarList(String initPath, String currentPath, List tabbarList, TabbarListAdapter tabbarAdapter) { - //currentPath = "/storage/emulated/0/Tencent/ams/mmm/rrr/ppp/qqqq"; - tabbarList = initTabbarList(initPath, tabbarList); - //获取缓存的item数量 - int cacheTabbarSize = tabbarList.size() - 1; - //去除当前路径中的原始路径: /Tencent/ams/mmm/rrr/ppp/qqqq - String noInitPath = currentPath.replaceFirst(initPath, ""); + + //currentPath = "/storage/emulated/0"; + tabbarList = initTabbarList(currentPath, tabbarList); //通过/分割 - String[] parts = noInitPath.split(File.separator); + String[] parts = currentPath.split(File.separator); /** * (空) - * Tencent - * ams - * mmm - * rrr - * ppp - * qqqq + * storage + * emulated + * 0 */ + if (parts.length == 0) { return tabbarList; } StringBuilder builder = new StringBuilder(); - builder.append(initPath); /**组合成分级 - * args[0] = /storage/emulated/0 - * args[1] = /storage/emulated/0/Tencent - * args[2] = /storage/emulated/0/Tencent/ams - * args[3] = /storage/emulated/0/Tencent/ams/mmm - * args[4] = /storage/emulated/0/Tencent/ams/mmm/rrr - * args[5] = /storage/emulated/0/Tencent/ams/mmm/rrr/ppp - * args[6] = /storage/emulated/0/Tencent/ams/mmm/rrr/ppp/qqqq + * parts[0] = (null) + * parts[1] = /storage + * parts[2] = /storage/emulated + * parts[3] = /storage/emulated/0 */ - for (int i = 0; i < parts.length; i++) { - if (i == 0) { - parts[i] = builder.append(parts[i]).toString(); - } else { - parts[i] = builder.append(File.separator + parts[i]).toString(); - } + for (int i = 1; i < parts.length; i++) { + parts[i] = builder.append(File.separator + parts[i]).toString(); } TabbarFileBean tabbarBean; - for (int i = 0; i < parts.length; i++) { - if (i <= cacheTabbarSize) { + for (int i = 1; i < parts.length; i++) { + if (false) { /** * 如果还有缓存的FileBean就设置属性即可 * 0索引FileBean为返回按钮所以+1 diff --git a/pathselector/src/main/java/com/molihuan/pathselector/utils/PermissionsTools.java b/pathselector/src/main/java/com/molihuan/pathselector/utils/PermissionsTools.java index 4a453f3..bb0ca8c 100644 --- a/pathselector/src/main/java/com/molihuan/pathselector/utils/PermissionsTools.java +++ b/pathselector/src/main/java/com/molihuan/pathselector/utils/PermissionsTools.java @@ -136,11 +136,11 @@ public void onGranted(List permissions, boolean all) { @Override public void onDenied(List permissions, boolean never) { if (never) { - ToastUtils.make().show(R.string.tip_denial_authorization); + ToastUtils.make().show(R.string.tip_denial_authorization_mlh); //如果是被永久拒绝就跳转到应用权限系统设置页面 //XXPermissions.startPermissionActivity(context, permissions); } else { - ToastUtils.make().show(R.string.tip_permission_failed); + ToastUtils.make().show(R.string.tip_permission_failed_mlh); } generalPermissionCallback.onDenied(permissions, never); @@ -189,11 +189,11 @@ public void onGranted(List permissions, boolean all) { @Override public void onDenied(List permissions, boolean never) { if (never) { - ToastUtils.make().show(R.string.tip_denial_authorization); + ToastUtils.make().show(R.string.tip_denial_authorization_mlh); //如果是被永久拒绝就跳转到应用权限系统设置页面 XXPermissions.startPermissionActivity(context, permissions); } else { - ToastUtils.make().show(R.string.tip_permission_failed); + ToastUtils.make().show(R.string.tip_permission_failed_mlh); } specialPermissionCallback.onDenied(permissions, never); diff --git a/pathselector/src/main/res/drawable/ic_back.png b/pathselector/src/main/res/drawable/ic_back_mlh.png similarity index 100% rename from pathselector/src/main/res/drawable/ic_back.png rename to pathselector/src/main/res/drawable/ic_back_mlh.png diff --git a/pathselector/src/main/res/drawable/ic_partition_tabbar_black.png b/pathselector/src/main/res/drawable/ic_partition_tabbar_black_mlh.png similarity index 100% rename from pathselector/src/main/res/drawable/ic_partition_tabbar_black.png rename to pathselector/src/main/res/drawable/ic_partition_tabbar_black_mlh.png diff --git a/pathselector/src/main/res/drawable/ic_tabbar_storage.png b/pathselector/src/main/res/drawable/ic_tabbar_storage_mlh.png similarity index 100% rename from pathselector/src/main/res/drawable/ic_tabbar_storage.png rename to pathselector/src/main/res/drawable/ic_tabbar_storage_mlh.png diff --git a/pathselector/src/main/res/drawable/ic_titlebar_back.png b/pathselector/src/main/res/drawable/ic_titlebar_back_mlh.png similarity index 100% rename from pathselector/src/main/res/drawable/ic_titlebar_back.png rename to pathselector/src/main/res/drawable/ic_titlebar_back_mlh.png diff --git a/pathselector/src/main/res/drawable/ic_titlebar_options.png b/pathselector/src/main/res/drawable/ic_titlebar_options_mlh.png similarity index 100% rename from pathselector/src/main/res/drawable/ic_titlebar_options.png rename to pathselector/src/main/res/drawable/ic_titlebar_options_mlh.png diff --git a/pathselector/src/main/res/drawable/ic_titlebar_search.png b/pathselector/src/main/res/drawable/ic_titlebar_search_mlh.png similarity index 100% rename from pathselector/src/main/res/drawable/ic_titlebar_search.png rename to pathselector/src/main/res/drawable/ic_titlebar_search_mlh.png diff --git a/pathselector/src/main/res/layout/fragment_empty_mlh.xml b/pathselector/src/main/res/layout/fragment_empty_mlh.xml index dd69938..aed646b 100644 --- a/pathselector/src/main/res/layout/fragment_empty_mlh.xml +++ b/pathselector/src/main/res/layout/fragment_empty_mlh.xml @@ -16,7 +16,7 @@ android:layout_height="120dp" android:gravity="center" android:layout_centerInParent="true" - android:background="@mipmap/ic_file_empty" /> + android:background="@mipmap/ic_file_empty_mlh" /> diff --git a/pathselector/src/main/res/layout/fragment_tabbar_mlh.xml b/pathselector/src/main/res/layout/fragment_tabbar_mlh.xml index 9a8a2b4..3dafd36 100644 --- a/pathselector/src/main/res/layout/fragment_tabbar_mlh.xml +++ b/pathselector/src/main/res/layout/fragment_tabbar_mlh.xml @@ -19,7 +19,7 @@ android:layout_gravity="center" android:src="@drawable/ic_tabbar_storage_black" android:background="@drawable/style_click_rectangle_transp_gray_mlh" - android:tooltipText="@string/internal_storage" + android:tooltipText="@string/internal_storage_mlh" android:visibility="gone" /> @@ -37,7 +37,7 @@ android:layout_width="30dp" android:layout_height="30dp" android:adjustViewBounds="true" - android:src="@drawable/ic_tabbar_storage" + android:src="@drawable/ic_tabbar_storage_mlh" android:layout_centerVertical="true" android:layout_marginLeft="10dp" android:background="@drawable/style_click_round_transp_gray_mlh" @@ -63,7 +63,7 @@ android:id="@+id/tv_main_title_titlebar" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="@string/test_text" + android:text="@string/test_text_mlh" android:textSize="21dp" android:textColor="@color/white_mlh" /> @@ -74,7 +74,7 @@ android:layout_below="@id/tv_main_title_titlebar" android:layout_centerHorizontal="true" android:textColor="@color/white_mlh" - android:text="@string/test_text" + android:text="@string/test_text_mlh" android:visibility="gone" /> @@ -94,7 +94,7 @@ android:adjustViewBounds="true" android:layout_alignParentRight="true" android:layout_centerVertical="true" - android:src="@drawable/ic_titlebar_search" + android:src="@drawable/ic_titlebar_search_mlh" android:layout_marginRight="15dp" android:background="@drawable/style_click_round_transp_gray_mlh" android:visibility="gone" /> @@ -106,7 +106,7 @@ android:adjustViewBounds="true" android:layout_alignParentRight="true" android:layout_centerVertical="true" - android:src="@drawable/ic_titlebar_options" + android:src="@drawable/ic_titlebar_options_mlh" android:layout_marginRight="15dp" android:background="@drawable/style_click_round_transp_gray_mlh" /> diff --git a/pathselector/src/main/res/layout/general_item_tv_mlh.xml b/pathselector/src/main/res/layout/general_item_tv_mlh.xml index 4c765b0..b7c5abe 100644 --- a/pathselector/src/main/res/layout/general_item_tv_mlh.xml +++ b/pathselector/src/main/res/layout/general_item_tv_mlh.xml @@ -17,7 +17,7 @@ android:id="@+id/general_item_imav_ico_mlh" android:layout_height="18dp" android:layout_width="18dp" - android:src="@drawable/ic_partition_tabbar_black" + android:src="@drawable/ic_partition_tabbar_black_mlh" android:layout_centerVertical="true" android:layout_alignParentLeft="true" android:visibility="gone" /> @@ -28,7 +28,7 @@ android:layout_width="wrap_content" android:layout_centerVertical="true" android:gravity="center" - android:text="@string/test_text" + android:text="@string/test_text_mlh" android:textSize="20dp" android:layout_toRightOf="@id/general_item_imav_ico_mlh" diff --git a/pathselector/src/main/res/layout/general_title_content_btn_mlh.xml b/pathselector/src/main/res/layout/general_title_content_btn_mlh.xml index 5fb2b59..a7172ad 100644 --- a/pathselector/src/main/res/layout/general_title_content_btn_mlh.xml +++ b/pathselector/src/main/res/layout/general_title_content_btn_mlh.xml @@ -8,7 +8,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingVertical="18dp" - android:text="@string/test_text" + android:text="@string/test_text_mlh" android:gravity="center" android:textSize="20sp" /> @@ -30,7 +30,7 @@ android:layout_height="wrap_content" android:paddingBottom="18dp" android:paddingHorizontal="30dp" - android:text="@string/test_text" /> + android:text="@string/test_text_mlh" /> @@ -64,7 +64,7 @@ android:layout_height="wrap_content" android:layout_weight="1" android:paddingVertical="15dp" - android:text="@string/test_text" + android:text="@string/test_text_mlh" android:gravity="center" android:background="@drawable/style_click_r_rectangle_white_gray_mlh" /> diff --git a/pathselector/src/main/res/layout/general_title_recyview_btn_mlh.xml b/pathselector/src/main/res/layout/general_title_recyview_btn_mlh.xml index 69da7cd..2212163 100644 --- a/pathselector/src/main/res/layout/general_title_recyview_btn_mlh.xml +++ b/pathselector/src/main/res/layout/general_title_recyview_btn_mlh.xml @@ -8,7 +8,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingVertical="18dp" - android:text="@string/test_text" + android:text="@string/test_text_mlh" android:gravity="center" android:textSize="20sp" /> @@ -42,7 +42,7 @@ android:layout_height="wrap_content" android:layout_weight="1" android:paddingVertical="15dp" - android:text="@string/test_text" + android:text="@string/test_text_mlh" android:gravity="center" android:background="@drawable/style_click_r_rectangle_white_gray_mlh" /> @@ -57,7 +57,7 @@ android:layout_height="wrap_content" android:layout_weight="1" android:paddingVertical="15dp" - android:text="@string/test_text" + android:text="@string/test_text_mlh" android:gravity="center" android:background="@drawable/style_click_r_rectangle_white_gray_mlh" /> diff --git a/pathselector/src/main/res/layout/item_file_mlh.xml b/pathselector/src/main/res/layout/item_file_mlh.xml index 967776a..2d6e4b3 100644 --- a/pathselector/src/main/res/layout/item_file_mlh.xml +++ b/pathselector/src/main/res/layout/item_file_mlh.xml @@ -26,7 +26,7 @@ android:id="@+id/imgv_item_file_ico" android:layout_width="36dp" android:layout_height="42dp" - android:src="@mipmap/folder" + android:src="@mipmap/folder_mlh" android:layout_centerInParent="true" /> @@ -80,7 +80,7 @@ android:layout_width="16dp" android:layout_height="wrap_content" android:layout_marginRight="10dp" - android:src="@drawable/ic_partition_tabbar_black" /> + android:src="@drawable/ic_partition_tabbar_black_mlh" /> diff --git a/pathselector/src/main/res/layout/item_handle_mlh.xml b/pathselector/src/main/res/layout/item_handle_mlh.xml index e156867..d6d47d1 100644 --- a/pathselector/src/main/res/layout/item_handle_mlh.xml +++ b/pathselector/src/main/res/layout/item_handle_mlh.xml @@ -18,7 +18,7 @@ android:layout_width="18dp" android:layout_height="18dp" android:layout_centerVertical="true" - android:src="@drawable/ic_partition_tabbar_black" + android:src="@drawable/ic_partition_tabbar_black_mlh" android:layout_toLeftOf="@id/item_handle_tv_mlh" android:visibility="gone" /> @@ -28,7 +28,7 @@ android:layout_height="wrap_content" android:layout_centerInParent="true" android:gravity="center" - android:text="@string/test_text" + android:text="@string/test_text_mlh" android:textColor="@color/black_mlh" android:textSize="20dp" /> diff --git a/pathselector/src/main/res/layout/item_tabbar_mlh.xml b/pathselector/src/main/res/layout/item_tabbar_mlh.xml index e2b29c9..320b2ea 100644 --- a/pathselector/src/main/res/layout/item_tabbar_mlh.xml +++ b/pathselector/src/main/res/layout/item_tabbar_mlh.xml @@ -15,7 +15,7 @@ android:id="@+id/imgv_item_tabbar_mlh" android:layout_width="20dp" android:layout_height="20dp" - android:src="@drawable/ic_partition_tabbar_black" + android:src="@drawable/ic_partition_tabbar_black_mlh" android:clickable="false" android:layout_alignParentLeft="true" android:layout_centerVertical="true" /> @@ -26,7 +26,7 @@ android:layout_height="wrap_content" android:layout_centerVertical="true" android:gravity="center" - android:text="@string/test_text" + android:text="@string/test_text_mlh" android:textSize="20sp" android:minWidth="25dp" android:textColor="@color/black_mlh" diff --git a/pathselector/src/main/res/mipmap-xhdpi/apk.png b/pathselector/src/main/res/mipmap-xhdpi/apk_mlh.png similarity index 100% rename from pathselector/src/main/res/mipmap-xhdpi/apk.png rename to pathselector/src/main/res/mipmap-xhdpi/apk_mlh.png diff --git a/pathselector/src/main/res/mipmap-xhdpi/attachment.png b/pathselector/src/main/res/mipmap-xhdpi/attachment_mlh.png similarity index 100% rename from pathselector/src/main/res/mipmap-xhdpi/attachment.png rename to pathselector/src/main/res/mipmap-xhdpi/attachment_mlh.png diff --git a/pathselector/src/main/res/mipmap-xhdpi/avi.png b/pathselector/src/main/res/mipmap-xhdpi/avi_mlh.png similarity index 100% rename from pathselector/src/main/res/mipmap-xhdpi/avi.png rename to pathselector/src/main/res/mipmap-xhdpi/avi_mlh.png diff --git a/pathselector/src/main/res/mipmap-xhdpi/delete.png b/pathselector/src/main/res/mipmap-xhdpi/delete_mlh.png similarity index 100% rename from pathselector/src/main/res/mipmap-xhdpi/delete.png rename to pathselector/src/main/res/mipmap-xhdpi/delete_mlh.png diff --git a/pathselector/src/main/res/mipmap-xhdpi/doc.png b/pathselector/src/main/res/mipmap-xhdpi/doc_mlh.png similarity index 100% rename from pathselector/src/main/res/mipmap-xhdpi/doc.png rename to pathselector/src/main/res/mipmap-xhdpi/doc_mlh.png diff --git a/pathselector/src/main/res/mipmap-xhdpi/documents.png b/pathselector/src/main/res/mipmap-xhdpi/documents_mlh.png similarity index 100% rename from pathselector/src/main/res/mipmap-xhdpi/documents.png rename to pathselector/src/main/res/mipmap-xhdpi/documents_mlh.png diff --git a/pathselector/src/main/res/mipmap-xhdpi/exe.png b/pathselector/src/main/res/mipmap-xhdpi/exe_mlh.png similarity index 100% rename from pathselector/src/main/res/mipmap-xhdpi/exe.png rename to pathselector/src/main/res/mipmap-xhdpi/exe_mlh.png diff --git a/pathselector/src/main/res/mipmap-xhdpi/flv.png b/pathselector/src/main/res/mipmap-xhdpi/flv_mlh.png similarity index 100% rename from pathselector/src/main/res/mipmap-xhdpi/flv.png rename to pathselector/src/main/res/mipmap-xhdpi/flv_mlh.png diff --git a/pathselector/src/main/res/mipmap-xhdpi/folder.png b/pathselector/src/main/res/mipmap-xhdpi/folder_mlh.png similarity index 100% rename from pathselector/src/main/res/mipmap-xhdpi/folder.png rename to pathselector/src/main/res/mipmap-xhdpi/folder_mlh.png diff --git a/pathselector/src/main/res/mipmap-xhdpi/gif.png b/pathselector/src/main/res/mipmap-xhdpi/gif_mlh.png similarity index 100% rename from pathselector/src/main/res/mipmap-xhdpi/gif.png rename to pathselector/src/main/res/mipmap-xhdpi/gif_mlh.png diff --git a/pathselector/src/main/res/mipmap-xhdpi/ic_file_empty.png b/pathselector/src/main/res/mipmap-xhdpi/ic_file_empty_mlh.png similarity index 100% rename from pathselector/src/main/res/mipmap-xhdpi/ic_file_empty.png rename to pathselector/src/main/res/mipmap-xhdpi/ic_file_empty_mlh.png diff --git a/pathselector/src/main/res/mipmap-xhdpi/ic_right.png b/pathselector/src/main/res/mipmap-xhdpi/ic_right_mlh.png similarity index 100% rename from pathselector/src/main/res/mipmap-xhdpi/ic_right.png rename to pathselector/src/main/res/mipmap-xhdpi/ic_right_mlh.png diff --git a/pathselector/src/main/res/mipmap-xhdpi/ic_tabbar_partition.png b/pathselector/src/main/res/mipmap-xhdpi/ic_tabbar_partition_mlh.png similarity index 100% rename from pathselector/src/main/res/mipmap-xhdpi/ic_tabbar_partition.png rename to pathselector/src/main/res/mipmap-xhdpi/ic_tabbar_partition_mlh.png diff --git a/pathselector/src/main/res/mipmap-xhdpi/jpg.png b/pathselector/src/main/res/mipmap-xhdpi/jpg_mlh.png similarity index 100% rename from pathselector/src/main/res/mipmap-xhdpi/jpg.png rename to pathselector/src/main/res/mipmap-xhdpi/jpg_mlh.png diff --git a/pathselector/src/main/res/mipmap-xhdpi/more.png b/pathselector/src/main/res/mipmap-xhdpi/more_mlh.png similarity index 100% rename from pathselector/src/main/res/mipmap-xhdpi/more.png rename to pathselector/src/main/res/mipmap-xhdpi/more_mlh.png diff --git a/pathselector/src/main/res/mipmap-xhdpi/movie.png b/pathselector/src/main/res/mipmap-xhdpi/movie_mlh.png similarity index 100% rename from pathselector/src/main/res/mipmap-xhdpi/movie.png rename to pathselector/src/main/res/mipmap-xhdpi/movie_mlh.png diff --git a/pathselector/src/main/res/mipmap-xhdpi/mp3.png b/pathselector/src/main/res/mipmap-xhdpi/mp3_mlh.png similarity index 100% rename from pathselector/src/main/res/mipmap-xhdpi/mp3.png rename to pathselector/src/main/res/mipmap-xhdpi/mp3_mlh.png diff --git a/pathselector/src/main/res/mipmap-xhdpi/password.png b/pathselector/src/main/res/mipmap-xhdpi/password_mlh.png similarity index 100% rename from pathselector/src/main/res/mipmap-xhdpi/password.png rename to pathselector/src/main/res/mipmap-xhdpi/password_mlh.png diff --git a/pathselector/src/main/res/mipmap-xhdpi/pdf.png b/pathselector/src/main/res/mipmap-xhdpi/pdf_mlh.png similarity index 100% rename from pathselector/src/main/res/mipmap-xhdpi/pdf.png rename to pathselector/src/main/res/mipmap-xhdpi/pdf_mlh.png diff --git a/pathselector/src/main/res/mipmap-xhdpi/png.png b/pathselector/src/main/res/mipmap-xhdpi/png_mlh.png similarity index 100% rename from pathselector/src/main/res/mipmap-xhdpi/png.png rename to pathselector/src/main/res/mipmap-xhdpi/png_mlh.png diff --git a/pathselector/src/main/res/mipmap-xhdpi/ppt.png b/pathselector/src/main/res/mipmap-xhdpi/ppt_mlh.png similarity index 100% rename from pathselector/src/main/res/mipmap-xhdpi/ppt.png rename to pathselector/src/main/res/mipmap-xhdpi/ppt_mlh.png diff --git a/pathselector/src/main/res/mipmap-xhdpi/wav.png b/pathselector/src/main/res/mipmap-xhdpi/wav_mlh.png similarity index 100% rename from pathselector/src/main/res/mipmap-xhdpi/wav.png rename to pathselector/src/main/res/mipmap-xhdpi/wav_mlh.png diff --git a/pathselector/src/main/res/mipmap-xhdpi/xls.png b/pathselector/src/main/res/mipmap-xhdpi/xls_mlh.png similarity index 100% rename from pathselector/src/main/res/mipmap-xhdpi/xls.png rename to pathselector/src/main/res/mipmap-xhdpi/xls_mlh.png diff --git a/pathselector/src/main/res/mipmap-xhdpi/zip.png b/pathselector/src/main/res/mipmap-xhdpi/zip_mlh.png similarity index 100% rename from pathselector/src/main/res/mipmap-xhdpi/zip.png rename to pathselector/src/main/res/mipmap-xhdpi/zip_mlh.png diff --git a/pathselector/src/main/res/values-en/strings.xml b/pathselector/src/main/res/values-en/strings.xml index ef3cc5a..6fbc1e1 100644 --- a/pathselector/src/main/res/values-en/strings.xml +++ b/pathselector/src/main/res/values-en/strings.xml @@ -1,17 +1,18 @@ - No Data - Permanently denied authorization, please manually grant read permission - Permission failed to be obtained - storage - Test text + No Data + Permanently denied authorization, please manually grant read permission + Permission failed to be obtained + storage + Test text Select a memory path Confirm Cancel - The number of selections exceeds the limit + The number of selections exceeds the limit Wrong selection type dir:%s file:%s Reminder Access to the `%s` directory requires authorization.\nDo you want to authorize? Full file read and write permissions are required to run the software + Cannot enter the %s path, has jumped to the %s path for you \ No newline at end of file diff --git a/pathselector/src/main/res/values/strings.xml b/pathselector/src/main/res/values/strings.xml index edcf433..615d688 100644 --- a/pathselector/src/main/res/values/strings.xml +++ b/pathselector/src/main/res/values/strings.xml @@ -1,17 +1,18 @@ - 无数据 - 被永久拒绝授权,请手动授予读取权限 - 获取权限失败 - 内部存储 - 测试文本 + 无数据 + 被永久拒绝授权,请手动授予读取权限 + 获取权限失败 + 内部存储 + 测试文本 请选择内部存储 确定 取消 - 选择数量超过限制 + 选择数量超过限制 选择类型错误 文件夹:%s 文件:%s 提示 访问%s目录需要授予权限,\n是否进行授权? 软件运行需要授予全文件读写权限 + 不能进入%s路径,已经为你跳往%s路径