move the library files in a separate folder + misc changes

- dont do such commits at home
This commit is contained in:
tibbi
2016-10-11 20:09:31 +02:00
parent 471169190c
commit 0d9d0b8b1c
57 changed files with 143 additions and 158 deletions

View File

@ -6,8 +6,6 @@ import android.content.pm.PackageManager;
import android.support.v4.content.ContextCompat;
import android.widget.Toast;
import com.simplemobiletools.filemanager.models.FileDirItem;
import java.text.DecimalFormat;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@ -35,11 +33,6 @@ public class Utils {
return matcher.matches();
}
public static String getFormattedSize(FileDirItem item) {
final long size = item.getSize();
return formatSize(size);
}
public static String formatSize(long size) {
if (size <= 0)
return "0 B";

View File

@ -41,7 +41,7 @@ public class AboutActivity extends SimpleActivity {
private void setupEmail() {
final String email = mRes.getString(R.string.email);
final String appName = mRes.getString(R.string.app_name);
final String appName = mRes.getString(R.string.smtfp_app_name);
final String href = "<a href=\"mailto:" + email + "?subject=" + appName + "\">" + email + "</a>";
mEmailTV.setText(Html.fromHtml(href));
mEmailTV.setMovementMethod(LinkMovementMethod.getInstance());
@ -63,9 +63,9 @@ public class AboutActivity extends SimpleActivity {
@OnClick(R.id.about_invite)
public void inviteFriend() {
final Intent intent = new Intent();
final String text = String.format(getString(R.string.share_text), getString(R.string.app_name), getStoreUrl());
final String text = String.format(getString(R.string.share_text), getString(R.string.smtfp_app_name), getStoreUrl());
intent.setAction(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.app_name));
intent.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.smtfp_app_name));
intent.putExtra(Intent.EXTRA_TEXT, text);
intent.setType("text/plain");
startActivity(Intent.createChooser(intent, getString(R.string.invite_via)));

View File

@ -9,13 +9,13 @@ import android.support.v4.app.ActivityCompat;
import android.view.Menu;
import android.view.MenuItem;
import com.simplemobiletools.filemanager.Breadcrumbs;
import com.simplemobiletools.filemanager.Config;
import com.simplemobiletools.filemanager.Constants;
import com.simplemobiletools.filemanager.R;
import com.simplemobiletools.filemanager.Utils;
import com.simplemobiletools.filemanager.fragments.ItemsFragment;
import com.simplemobiletools.filemanager.models.FileDirItem;
import com.simplemobiletools.filepicker.models.FileDirItem;
import com.simplemobiletools.filepicker.Breadcrumbs;
import butterknife.BindView;
import butterknife.ButterKnife;

View File

@ -11,7 +11,7 @@ import android.widget.TextView;
import com.simplemobiletools.filemanager.Config;
import com.simplemobiletools.filemanager.R;
import com.simplemobiletools.filemanager.Utils;
import com.simplemobiletools.filemanager.models.FileDirItem;
import com.simplemobiletools.filepicker.models.FileDirItem;
import java.io.File;
import java.util.Calendar;
@ -50,17 +50,18 @@ public class PropertiesDialog extends DialogFragment {
final AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
builder.setTitle(getResources().getString(title));
builder.setView(infoView);
builder.setPositiveButton(R.string.ok, null);
builder.setPositiveButton(R.string.smtfp_ok, null);
return builder.create();
}
private String getItemSize() {
if (mItem.isDirectory()) {
return Utils.formatSize(directorySize(new File(mItem.getPath())));
return Utils.formatSize(getDirectorySize(new File(mItem.getPath())));
}
return Utils.getFormattedSize(mItem);
return "";
//return Utils.getFormattedSize(mItem);
}
private String formatLastModified(long ts) {
@ -69,13 +70,13 @@ public class PropertiesDialog extends DialogFragment {
return DateFormat.format("dd/MM/yyyy HH:mm", cal).toString();
}
private long directorySize(File dir) {
private long getDirectorySize(File dir) {
if (dir.exists()) {
long size = 0;
File[] files = dir.listFiles();
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
size += directorySize(files[i]);
size += getDirectorySize(files[i]);
} else {
size += files[i].length();
if ((!files[i].isHidden() && !dir.isHidden()) || mShowHidden)

View File

@ -39,7 +39,7 @@ import com.simplemobiletools.filemanager.adapters.ItemsAdapter;
import com.simplemobiletools.filemanager.asynctasks.CopyTask;
import com.simplemobiletools.filemanager.dialogs.PropertiesDialog;
import com.simplemobiletools.filemanager.dialogs.SelectFolderDialog;
import com.simplemobiletools.filemanager.models.FileDirItem;
import com.simplemobiletools.filepicker.models.FileDirItem;
import java.io.File;
import java.io.FileFilter;
@ -215,8 +215,8 @@ public class ItemsFragment extends android.support.v4.app.Fragment
final AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
builder.setTitle(getResources().getString(R.string.create_new));
builder.setView(newItemView);
builder.setPositiveButton(R.string.ok, null);
builder.setNegativeButton(R.string.cancel, null);
builder.setPositiveButton(R.string.smtfp_ok, null);
builder.setNegativeButton(R.string.smtfp_cancel, null);
final AlertDialog alertDialog = builder.create();
alertDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
@ -394,8 +394,8 @@ public class ItemsFragment extends android.support.v4.app.Fragment
final AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
builder.setTitle(getResources().getString(title));
builder.setView(renameView);
builder.setPositiveButton(R.string.ok, null);
builder.setNegativeButton(R.string.cancel, null);
builder.setPositiveButton(R.string.smtfp_ok, null);
builder.setNegativeButton(R.string.smtfp_cancel, null);
final AlertDialog alertDialog = builder.create();
alertDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
@ -445,8 +445,8 @@ public class ItemsFragment extends android.support.v4.app.Fragment
final AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
builder.setTitle(getResources().getString(copyString));
builder.setView(copyView);
builder.setPositiveButton(R.string.ok, null);
builder.setNegativeButton(R.string.cancel, null);
builder.setPositiveButton(R.string.smtfp_ok, null);
builder.setNegativeButton(R.string.smtfp_cancel, null);
mCopyDialog = builder.create();
mCopyDialog.show();
@ -454,7 +454,7 @@ public class ItemsFragment extends android.support.v4.app.Fragment
@Override
public void onClick(View v) {
final String destinationPath = mDestinationView.getText().toString().trim();
if (destinationPath.equals(getResources().getString(R.string.select_destination))) {
if (destinationPath.equals(getResources().getString(R.string.smtfp_select_destination))) {
Utils.showToast(getContext(), R.string.please_select_destination);
return;
}

View File

@ -1,166 +0,0 @@
package com.simplemobiletools.filemanager
import android.content.Context
import android.graphics.Point
import android.os.Environment
import android.util.AttributeSet
import android.view.LayoutInflater
import android.view.View
import android.view.WindowManager
import android.widget.LinearLayout
import android.widget.TextView
import com.simplemobiletools.filemanager.models.FileDirItem
class Breadcrumbs(context: Context, attrs: AttributeSet) : LinearLayout(context, attrs), View.OnClickListener {
private var mDeviceWidth: Int = 0
private var mInflater: LayoutInflater? = null
private var mListener: BreadcrumbsListener? = null
init {
init(context)
}
private fun init(context: Context) {
mInflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
val display = (context.getSystemService(Context.WINDOW_SERVICE) as WindowManager).defaultDisplay
val deviceDisplay = Point()
display.getSize(deviceDisplay)
mDeviceWidth = deviceDisplay.x
}
fun setListener(listener: BreadcrumbsListener) {
mListener = listener
}
override fun onLayout(changed: Boolean, l: Int, t: Int, r: Int, b: Int) {
val paddingTop = paddingTop
val paddingLeft = paddingLeft
val paddingRight = paddingRight
val childRight = measuredWidth - paddingRight
val childBottom = measuredHeight - paddingBottom
val childHeight = childBottom - paddingTop
val usableWidth = mDeviceWidth - paddingLeft - paddingRight
var maxHeight = 0
var curWidth: Int
var curHeight: Int
var curLeft = paddingLeft
var curTop = paddingTop
val cnt = childCount
for (i in 0..cnt - 1) {
val child = getChildAt(i)
child.measure(View.MeasureSpec.makeMeasureSpec(usableWidth, View.MeasureSpec.AT_MOST),
View.MeasureSpec.makeMeasureSpec(childHeight, View.MeasureSpec.AT_MOST))
curWidth = child.measuredWidth
curHeight = child.measuredHeight
if (curLeft + curWidth >= childRight) {
curLeft = paddingLeft
curTop += maxHeight
maxHeight = 0
}
child.layout(curLeft, curTop, curLeft + curWidth, curTop + curHeight)
if (maxHeight < curHeight)
maxHeight = curHeight
curLeft += curWidth
}
}
override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
val usableWidth = mDeviceWidth - paddingLeft - paddingRight
var width = 0
var rowHeight = 0
var lines = 1
val cnt = childCount
for (i in 0..cnt - 1) {
val child = getChildAt(i)
measureChild(child, widthMeasureSpec, heightMeasureSpec)
width += child.measuredWidth
rowHeight = child.measuredHeight
if (width / usableWidth > 0) {
lines++
width = child.measuredWidth
}
}
val parentWidth = View.MeasureSpec.getSize(widthMeasureSpec)
val calculatedHeight = paddingTop + paddingBottom + rowHeight * lines
setMeasuredDimension(parentWidth, calculatedHeight)
}
fun setInitialBreadcrumb(fullPath: String) {
val showFullPath = Config.newInstance(context).showFullPath
val basePath = Environment.getExternalStorageDirectory().toString()
var tempPath = fullPath
var currPath = basePath
if (!showFullPath) {
tempPath = fullPath.replace(basePath, context.getString(R.string.initial_breadcrumb) + "/")
} else {
currPath = "/"
}
removeAllViewsInLayout()
val dirs = tempPath.split("/".toRegex()).dropLastWhile(String::isEmpty).toTypedArray()
for (i in dirs.indices) {
val dir = dirs[i]
if (i > 0) {
currPath += dir + "/"
} else if (showFullPath) {
addRootFolder()
}
if (dir.isEmpty())
continue
val item = FileDirItem(currPath, dir, true, 0, 0)
addBreadcrumb(item, i > 0 || showFullPath)
}
if (dirs.size == 0 && showFullPath) {
addRootFolder()
}
}
fun addBreadcrumb(item: FileDirItem, addPrefix: Boolean) {
val view = mInflater!!.inflate(R.layout.breadcrumb_item, null, false)
val textView = view.findViewById(R.id.breadcrumb_text) as TextView
var textToAdd = item.name
if (addPrefix)
textToAdd = " -> " + textToAdd
textView.text = textToAdd
addView(view)
view.setOnClickListener(this)
view.tag = item
}
fun removeBreadcrumb() {
removeView(getChildAt(childCount - 1))
}
private fun addRootFolder() {
val item = FileDirItem("/", " / ", true, 0, 0)
addBreadcrumb(item, false)
}
override fun onClick(v: View) {
val cnt = childCount
for (i in 0..cnt - 1) {
if (getChildAt(i) != null && getChildAt(i) == v) {
mListener?.breadcrumbClicked(i)
}
}
}
interface BreadcrumbsListener {
fun breadcrumbClicked(id: Int)
}
}

View File

@ -10,9 +10,9 @@ import android.widget.BaseAdapter
import android.widget.ImageView
import android.widget.TextView
import com.simplemobiletools.filemanager.R
import com.simplemobiletools.filemanager.Utils
import com.simplemobiletools.filemanager.extensions.formatSize
import com.simplemobiletools.filemanager.extensions.getColoredIcon
import com.simplemobiletools.filemanager.models.FileDirItem
import com.simplemobiletools.filepicker.models.FileDirItem
import kotlinx.android.synthetic.main.list_item.view.*
class ItemsAdapter(context: Context, private val mItems: List<FileDirItem>) : BaseAdapter() {
@ -48,7 +48,7 @@ class ItemsAdapter(context: Context, private val mItems: List<FileDirItem>) : Ba
viewHolder.details.text = getChildrenCnt(item)
} else {
viewHolder.icon.setImageBitmap(mFileBmp)
viewHolder.details.text = Utils.getFormattedSize(item)
viewHolder.details.text = item.size.formatSize()
}
return view
@ -56,7 +56,7 @@ class ItemsAdapter(context: Context, private val mItems: List<FileDirItem>) : Ba
private fun getChildrenCnt(item: FileDirItem): String {
val children = item.children
return mRes.getQuantityString(R.plurals.items, children, children)
return mRes.getQuantityString(R.plurals.smtfp_items, children, children)
}
override fun getCount(): Int {

View File

@ -12,7 +12,7 @@ import com.simplemobiletools.filemanager.R
import com.simplemobiletools.filemanager.Utils
import com.simplemobiletools.filemanager.adapters.ItemsAdapter
import com.simplemobiletools.filemanager.fragments.ItemsFragment
import com.simplemobiletools.filemanager.models.FileDirItem
import com.simplemobiletools.filepicker.models.FileDirItem
import kotlinx.android.synthetic.main.directory_picker.view.*
import java.io.File
import java.util.*
@ -39,10 +39,10 @@ class SelectFolderDialog : DialogFragment() {
setupBreadcrumbs()
return AlertDialog.Builder(activity)
.setTitle(resources.getString(R.string.select_destination))
.setTitle(resources.getString(R.string.smtfp_select_destination))
.setView(dialog)
.setPositiveButton(R.string.ok) { dialog, which -> sendResult() }
.setNegativeButton(R.string.cancel, null)
.setPositiveButton(R.string.smtfp_ok) { dialog, which -> sendResult() }
.setNegativeButton(R.string.smtfp_cancel, null)
.create()
}

View File

@ -0,0 +1,12 @@
package com.simplemobiletools.filemanager.extensions
import java.text.DecimalFormat
fun Long.formatSize(): String {
if (this <= 0)
return "0 B"
val units = arrayOf("B", "kB", "MB", "GB", "TB")
val digitGroups = (Math.log10(toDouble()) / Math.log10(1024.0)).toInt()
return DecimalFormat("#,##0.#").format(this / Math.pow(1024.0, digitGroups.toDouble())) + " " + units[digitGroups]
}

View File

@ -1,19 +0,0 @@
package com.simplemobiletools.filemanager.models
class FileDirItem(val path: String, val name: String, val isDirectory: Boolean, val children: Int, val size: Long) :
Comparable<FileDirItem> {
override fun compareTo(other: FileDirItem): Int {
if (isDirectory && !other.isDirectory) {
return -1
} else if (!isDirectory && other.isDirectory) {
return 1
}
return name.toLowerCase().compareTo(other.name.toLowerCase())
}
override fun toString(): String {
return "FileDirItem{name=$name, isDirectory=$isDirectory, path=$path, children=$children, size=$size}"
}
}

View File

@ -5,7 +5,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.simplemobiletools.filemanager.Breadcrumbs
<com.simplemobiletools.filepicker.Breadcrumbs
android:id="@+id/breadcrumbs"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -42,7 +42,7 @@
android:paddingBottom="@dimen/small_margin"
android:paddingRight="@dimen/small_margin"
android:paddingTop="@dimen/small_margin"
android:text="@string/select_destination"/>
android:text="@string/smtfp_select_destination"/>
<RadioGroup
android:id="@+id/dialog_radio_group"

View File

@ -6,7 +6,7 @@
android:layout_height="wrap_content"
android:orientation="vertical">
<com.simplemobiletools.filemanager.Breadcrumbs
<com.simplemobiletools.filepicker.Breadcrumbs
android:id="@+id/directory_picker_breadcrumbs"
android:layout_width="match_parent"
android:layout_height="wrap_content"