From dc4416c0b0be3986cb683cc20c704e475d836423 Mon Sep 17 00:00:00 2001 From: Jorge Ruesga Date: Tue, 20 Nov 2012 00:17:36 +0100 Subject: [PATCH 01/10] CMFileManager: Check shell commands on startup This change improved the detection of CM rooted devices with support for all the commands used by CMFM. In case of one of this command was not detected, the app start in chrooted-java mode (with limited support). Change-Id: Ie0f61d74f9619f476ea517c1b3c03ec453e033f3 --- res/values/overlay.xml | 45 ++++++++++++++++++- res/xml/command_list.xml | 2 +- .../filemanager/FileManagerApplication.java | 41 +++++++++++++++-- 3 files changed, 82 insertions(+), 6 deletions(-) diff --git a/res/values/overlay.xml b/res/values/overlay.xml index 0019965a2..1a68d5348 100644 --- a/res/values/overlay.xml +++ b/res/values/overlay.xml @@ -25,8 +25,49 @@ /system - - /system/xbin/su + + + /system/bin/cat, + /system/bin/chmod, + /system/bin/chown, + /system/bin/dd, + /system/bin/df, + /system/bin/gzip, + /system/bin/id, + /system/bin/kill, + /system/bin/ln, + /system/bin/ls, + /system/bin/mkdir, + /system/bin/mount, + /system/bin/mv, + /system/bin/ps, + /system/bin/rm, + /system/bin/sh, + /system/xbin/awk, + /system/xbin/bunzip2, + /system/xbin/bzip2, + /system/xbin/cp, + /system/xbin/cut, + /system/xbin/dirname, + /system/xbin/echo, + /system/xbin/find, + /system/xbin/grep, + /system/xbin/groups, + /system/xbin/gunzip, + /system/xbin/pwd, + /system/xbin/readlink, + /system/xbin/su, + /system/xbin/tar, + /system/xbin/uncompress, + /system/xbin/unlzma, + /system/xbin/unxz, + /system/xbin/unzip, + /system/xbin/xargs + /proc/mounts diff --git a/res/xml/command_list.xml b/res/xml/command_list.xml index c79aee77d..26cd51ebf 100644 --- a/res/xml/command_list.xml +++ b/res/xml/command_list.xml @@ -52,7 +52,7 @@ - + diff --git a/src/com/cyanogenmod/filemanager/FileManagerApplication.java b/src/com/cyanogenmod/filemanager/FileManagerApplication.java index d3ecf9f9e..c765ee351 100644 --- a/src/com/cyanogenmod/filemanager/FileManagerApplication.java +++ b/src/com/cyanogenmod/filemanager/FileManagerApplication.java @@ -203,9 +203,7 @@ private void register() { sIsDebuggable = (0 != (getApplicationInfo().flags &= ApplicationInfo.FLAG_DEBUGGABLE)); // Check if the device is rooted - sIsDeviceRooted = - new File(getString(R.string.su_binary)).exists() && - getSystemProperty("ro.cm.version") != null; //$NON-NLS-1$ + sIsDeviceRooted = areShellCommandsPresent(); // Register the notify broadcast receiver IntentFilter filter = new IntentFilter(); @@ -419,4 +417,41 @@ private static void readSystemProperties() { } } + /** + * Method that check if all shell commands are present in the device + * + * @return boolean Check if the device has all of the shell commands + */ + private boolean areShellCommandsPresent() { + try { + String shellCommands = getString(R.string.shell_required_commands); + String[] commands = shellCommands.split(","); //$NON-NLS-1$ + int cc = commands.length; + if (cc == 0) { + //??? + Log.w(TAG, "No shell commands."); //$NON-NLS-1$ + return false; + } + for (int i = 0; i < cc; i++) { + String c = commands[i].trim(); + if (c.length() == 0) continue; + File cmd = new File(c); + if (!cmd.exists() || !cmd.isFile()) { + Log.w(TAG, + String.format( + "Command %s not found. Exists: %s; IsFile: %s.", //$NON-NLS-1$ + c, + String.valueOf(cmd.exists()), + String.valueOf(cmd.isFile()))); + return false; + } + } + // All commands are present + return true; + } catch (Exception e) { + Log.e(TAG, + "Failed to read shell commands.", e); //$NON-NLS-1$ + } + return false; + } } From e12b2049dba95fb9e810e53201266f7736bdc2d6 Mon Sep 17 00:00:00 2001 From: Takuo Kitame Date: Thu, 22 Nov 2012 13:55:59 +0900 Subject: [PATCH 02/10] CMFileManager: Add Japanese translation - Initial Japanese translation for FileManager. - patch-2: Add translation for theme. - patch-3: Revised translation for theme. Change-Id: Ie234334b2c09e2093976410046bdc990acd8ad9d --- res/values-ja/strings.xml | 681 +++++++++++++++++++++++++++++++ themes/res/values-ja/strings.xml | 29 ++ 2 files changed, 710 insertions(+) create mode 100644 res/values-ja/strings.xml create mode 100644 themes/res/values-ja/strings.xml diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml new file mode 100644 index 000000000..9fd13bf66 --- /dev/null +++ b/res/values-ja/strings.xml @@ -0,0 +1,681 @@ + + + + + + + ファイルマネージャ + + CyanogenMod ファイルマネージャ + + + ブロックデバイス + キャラクタデバイス + 名前付きパイプ + ドメインソケット + + + RO + RW + + + はい + いいえ + すべて + 上書き + + + ]]> + + 検索: %1$s + + + ロード中\u2026 + キャンセルしました + + エラー + + + 警告 + + エラーを検出 + + 操作の確認 + + 上書きの確認 + + 削除の確認 + + + 切り替えの確認 + + + ルートアクセスモードで実行できません。セーフモードに変更します。\n\nこの変更を適用しますか? + + + この機能に必要な権限を取得できません。 + + ルートアクセスモードで実行できません。 + セーフモードに変更します。 + + この設定は適用または保存できませんでした。 + + 初期フォルダ + "%1$s" は不正です。ルートフォルダに変更します。 + + + 操作は成功しました。 + + エラーを検出しました。操作は失敗しました。 + + この操作には管理者特権が必要です。ルートアクセスモードに変更してみますか? + + ファイルまたはフォルダは見つかりませんでした。 + + この操作のコマンドが見つからないか、もしくは定義が不正です。 + + 読み取り/書き込み失敗しました。 + + 操作はタイムアウトしました。 + + 操作は失敗しました。 + + 内部エラーが発生しました。 + + この操作はキャンセルできません。 + + ファイルシステムは読み取り専用です。この操作をする前に書き込み可能でマウントしなおす必要があります。 + + 不正な引数です。呼び出しは失敗しました。 + + + 矛盾が生じるため、その操作は許可されません。 + + + 現在のフォルダではその操作は許可されません。 + + + もう一度押して終了 + + + 選択されたファイルタイプにはアプリが関連付けられていません。 + + + + いくつかのファイルは宛先のフォルダにすでにあります。\n\n上書きしますか? + + + アクションのアプリへの関連付けは失敗しました。 + + + この操作には管理者特権が必要です。\n\n + ルートアクセスモードに変更しますか? + + + + 親フォルダ + + 外部ストレージ + + USBストレージ + + + ファイルシステム情報 + + ソートモード + + レイアウトモード + + その他の表示オプション + + 完了 + + アクション + + 履歴 + + ブックマーク + + 検索 + + その他のオプション + + ストレージボリューム + + 保存 + + + 名前順 ▲ + + 名前順 ▼ + + 日付順 ▲ + + 日付順 ▼ + + + アイコン + + シンプル + + 詳細 + + + フォルダを先に表示 + + 隠しファイルを表示 + + システムファイルを表示 + + シンボリックリンクを表示 + + + 情報なし + + このファイルシステムには利用できる情報がありません。 + + + このファイルシステムはマウント/マウント解除できません。 + + セーフモードではファイルシステムのマウント操作は許可されません。 + タップしてルートアクセスモードに変更してください。 + + ファイルシステムのマウント操作に失敗しました。 + SDカードのようないくつかのファイルシステムは読み取り専用としてビルトインされているのでマウント/マウント解除できません。 + + ファイルシステム情報 + + 情報 + + ディスク使用量 + + ステータス: + + マウントポイント: + + デバイス: + + タイプ: + + オプション: + + ダンプ / パス: + + トータル: + + 使用中: + + 空き: + + + + セーフモードではパーミッション操作は許可されません。 + タップしてルートアクセスモードに変更してください。 + + オーナーの変更に失敗しました。\n\n + セキュリティの理由により、SDカードのようないくつかのファイルシステムではオーナーの変更はできません。 + + グループの変更に失敗しました。\n\n + セキュリティの理由により、SDカードのようないくつかのファイルシステムではグループの変更はできません。 + + パーミッションの変更に失敗しました。\n\nセキュリティの理由により、SDカードのようないくつかのファイルシステムではパーミッションの変更はできません。 + + プロパティ + + 情報 + + パーミッション + + 名前: + + 親フォルダ: + + タイプ: + + カテゴリ: + + リンク: + + サイズ: + + 内包数: + + 最終アクセス: + + オーナー: + + グループ: + + その他: + + + 0 フォルダ + 1 フォルダ + %1$d フォルダ + + + + 0 ファイル + 1 ファイル + %1$d ファイル + + + + 履歴 + + 履歴は空です。 + + 不明な履歴項目。 + + + 検索結果 + + 検索タイプ + + 検索語を発声してください + + 検索中にエラーが発声しました。結果はありません。 + + 結果はありません。 + + + 該当項目はありません + 1 項目見つかりました + %d 項目見つかりました + + + %2$s%1$s + + 検索語:]]> %1$s + + 検索の確認 + + いくつかの検索語の文字数が小さいようです。 操作は時間やシステムリソースを大量に使用する可能性があります。\n\n続けますか? + + お待ち下さい\u2026 + + 検索実行中 + + + ファイルを選択 + + + エディタ + + 不正なファイル + + ファイルは見つかりませんでした。 + + このファイルはこのデバイスで開くには大き過ぎます。 + + 終了の確認 + + 保存していない変更があります。\n\n保存しないで終了しますか? + + ファイルの保存に成功しました。 + + ファイルは読み取り専用で開かれています。 + + + ブックマーク + + ホーム + + ルートフォルダ + + システムフォルダ + + 初期フォルダに設定 + + ブックマークを削除 + + ブックマークの追加に成功しました。 + + + 初期フォルダ + + 初期フォルダを選択: + + 相対パスは選択できません。 + + 初期フォルダの設定にエラーが発生しました。 + + + 履歴 + + ブックマーク + + 検索 + + 設定 + + 履歴をクリア + + + + %1$s - コピー%2$s + + + %1$s - 新規%2$s + + + 操作を実行中\u2026 + + コピー中\u2026 + + + %1$s から]]>]]> + %2$s へ]]> + + Moving\u2026 + + + %1$s から]]>]]> + %2$s へ]]> + + 削除中\u2026 + + + ファイル]]> %1$s + + 解凍中\u2026 + + + ファイル]]> %1$s + + 圧縮中\u2026 + + + ファイル]]> %1$s + + + 解析中\u2026]]> + + + 解凍操作が完了しました。 データは + %1$s に解凍されました。 + + + 圧縮操作が完了しました。 データは + %1$s に圧縮されました。 + + + アクション + + プロパティ + + 更新 + + 新規フォルダ + + 新規ファイル + + すべて選択 + + すべて選択解除 + + 選択 + + 選択解除 + + 選択を貼り付け + + 選択を移動 + + 選択を削除 + + 選択を圧縮 + + リンクを作成 + + 開く + + 別のアプリで開く + + 実行 + + 送信 + + 圧縮 + + 解凍 + + 削除 + + リネーム + + コピーを作成 + + プロパティ + + ブックマークに追加 + + ショートカットを追加 + + 親フォルダを開く + + + + この操作はやり直せません。続けますか? + + + 名前: + + 名前は空にできません。 + + 不正な名前です。文字 + \'%1$s\' は使用できません。 + + 不正な名前です。名前に \'.\' と + \'..\' は使用できません。 + + この名前はすでに存在しています。 + + + 連携 + + 選択を記憶 + + 別のアプリで開く + + 開く + + 別のアプリで送信 + + 送信 + + + 候補はありません。 + + + コンソール + + スクリプト: + + 時間: + + 終了コード: + + + %1$s 秒. + + + フォルダ + + シンボリックリンク + + 不明 + + + %1$s つのフォルダを選択中 + %1$s つのフォルダを選択中 + %1$s つのファイルを選択中 + %1$s つのファイルを選択中 + %1$s つのフォルダと + %2$s つのファイルを選択中 + %1$s つのフォルダと + %2$s つのファイルを選択中 + %1$s つのフォルダと + and %2$s つのファイルを選択中 + + + システム + アプリ + バイナリ + テキスト + 文書 + + メール + 書庫 + 実行可能 + データベース + フォント + 画像 + 音声 + 動画 + セキュリティ + + + 圧縮モード + + + ショートカットの操作に失敗。 + + ショートカットの作成に成功。 + + ショートカットの作成に失敗。 + + + 設定 + + 一般設定 + + 検索オプション + + テーマ + + 情報 + + ファイルマネージャ v%1$s + \nCopyright \u00A9 2012 The CyanogenMod Project + + + 一般 + + 大文字小文字を区別してソート + + ディスク使用量の警告 + + + ディスク使用量が %1$s パーセントに達している場合、異なる色でフォルダアイテムを表示する。 + + フォルダの統計情報を計算 + + 警告! 統計情報の計算は時間とシステムリソースを多く要します。 + + スワイプジェスチャを使用 + + ファイルやフォルダの削除に左から右へのジェスチャを使用する。 + + 高度 + + アクセスモード + + セーフモード + + セーフモード\n\nアプリは特権を持たず、ストレージボリューム(USBやSDカード)のファイルシステムのみにアクセスが可能。 + + プロンプトモード + + プロンプトモード\n\nアプリはファイルシステムにフルアクセス可能だが、管理権限が必要な操作を実行する際にユーザーに問い合わせる。 + + ルートアクセスモード + + ルートアクセスモード\n\n警告! このモードはデバイスを破滅させることも可能。安全に保つにはあなたの注意深い操作が必要。 + + 検索結果 + + 関連性を表示 + + 検索語をハイライト + + 検索結果のソート + + ソートなし + + 名前順 + + 関連性順 + + プライバシー + + 検索語を保存 + + 検索語は保存され、将来のサジェストに活用します。 + + 検索語は保存されません + + 保存された検索語を削除する + + タップしてすべての保存された検索語を削除する + + すべての保存された検索語は削除されました。 + + テーマ + + テーマを設定 + + 利用できる\nプレビュー無し + + テーマの適用は成功しました。 + + テーマはみつかりませんでした。 + + + デバッグ情報をログに記録 + + + 明るいテーマ + + CyanogenModファイルマネージャの明るいテーマ + + CyanogenMod + + + 警告!\n\n + 相対パスあるいは絶対パスへの書庫の解凍はシステムファイルを上書きし、デバイスを破滅させる恐れがあります。 + \n\n + 続けますか? + + + 更新履歴 + + + ようこそ + + + ようこそ CyanogenMod ファイルマネージャへ。 + \n\nこのアプリはファイルシステムを探索し、様々なオペレーションによりデバイスを壊してしまうこともできます。 + そのため、意図せず壊してしまわないように権限の低いセーフモードで起動します。 + \n\n設定により、フルアクセス可能な上級モードで利用することもできますが、システムを壊さないように注意深く操作して下さい。 + \n\nCyanogenModチームより。\n + diff --git a/themes/res/values-ja/strings.xml b/themes/res/values-ja/strings.xml new file mode 100644 index 000000000..4cad7f5e6 --- /dev/null +++ b/themes/res/values-ja/strings.xml @@ -0,0 +1,29 @@ + + + + + + + ファイルマネージャテーマ + + CyanogenModファイルマネージャのテーマ + + + ダークテーマ + + CyanogenModファイルマネージャのダークテーマ + + From fe8cd27edcc7a7533cd0d18fdea5c6bee25e823e Mon Sep 17 00:00:00 2001 From: Jorge Ruesga Date: Sat, 24 Nov 2012 20:31:09 +0100 Subject: [PATCH 03/10] CMFileManager: Formatting Change-Id: Ia3e72bdad1882afbb151d2f04340a1af88c20682 --- .../cyanogenmod/filemanager/commands/shell/Shell.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/com/cyanogenmod/filemanager/commands/shell/Shell.java b/src/com/cyanogenmod/filemanager/commands/shell/Shell.java index 779796d77..36b89fddc 100644 --- a/src/com/cyanogenmod/filemanager/commands/shell/Shell.java +++ b/src/com/cyanogenmod/filemanager/commands/shell/Shell.java @@ -16,6 +16,8 @@ package com.cyanogenmod.filemanager.commands.shell; +import android.util.Log; + import com.cyanogenmod.filemanager.commands.SyncResultExecutable; import com.cyanogenmod.filemanager.commands.WritableExecutable; import com.cyanogenmod.filemanager.console.CommandNotFoundException; @@ -24,8 +26,6 @@ import com.cyanogenmod.filemanager.console.NoSuchFileOrDirectory; import com.cyanogenmod.filemanager.console.ReadOnlyFilesystemException; -import android.util.Log; - /** * An abstract class that represents a command to wrap others commands, * like sh or su commands. @@ -34,7 +34,7 @@ public abstract class Shell extends Command { private int mPid; - private final String TAG = "Shell"; + private final static String TAG = "Shell"; //$NON-NLS-1$ /** * @Constructor of Shell @@ -75,7 +75,10 @@ public void checkExitCode(int exitCode) throws InsufficientPermissionsException, CommandNotFoundException, ExecutionException { //Command not found if (exitCode == 127) { - Log.w(TAG, getCommand() + " " + getArguments() + ": error"); + Log.w(TAG, String.format( + "CommandNotFound: %s %s", //$NON-NLS-1$ + getCommand(), + getArguments())); throw new CommandNotFoundException(getId()); } //No exit code From e39313f63a41922babe8acefe7b691c20d9fccda Mon Sep 17 00:00:00 2001 From: Jorge Ruesga Date: Sat, 24 Nov 2012 20:40:12 +0100 Subject: [PATCH 04/10] CMFileManager: PickerActivity: debug requested paremeters Add requested parameters to logcat for better debugging. Change-Id: I52e362ca8ad4b3687b78ee92e18e3015a6e645e0 --- src/com/cyanogenmod/filemanager/activities/PickerActivity.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/com/cyanogenmod/filemanager/activities/PickerActivity.java b/src/com/cyanogenmod/filemanager/activities/PickerActivity.java index 5d3c03365..c1fce9d9e 100644 --- a/src/com/cyanogenmod/filemanager/activities/PickerActivity.java +++ b/src/com/cyanogenmod/filemanager/activities/PickerActivity.java @@ -171,6 +171,7 @@ private void init() { // Check that call has a valid request (GET_CONTENT a and mime type) String action = getIntent().getAction(); + Log.d(TAG, "PickerActivity. action: " + String.valueOf(action)); //$NON-NLS-1$ if (action.compareTo(Intent.ACTION_GET_CONTENT.toString()) != 0) { setResult(Activity.RESULT_CANCELED); finish(); @@ -181,11 +182,13 @@ private void init() { Map restrictions = new HashMap(); //- Mime/Type restriction String mimeType = getIntent().getType(); + Log.d(TAG, "PickerActivity. type: " + String.valueOf(mimeType)); //$NON-NLS-1$ if (mimeType != null) { restrictions.put(DisplayRestrictions.MIME_TYPE_RESTRICTION, mimeType); } // Other restrictions Bundle extras = getIntent().getExtras(); + Log.d(TAG, "PickerActivity. extras: " + String.valueOf(extras)); //$NON-NLS-1$ if (extras != null) { //-- File size if (extras.containsKey(android.provider.MediaStore.Audio.Media.EXTRA_MAX_BYTES)) { From 9f41124f09b4f0df5f040d74d5092b5c1d81f172 Mon Sep 17 00:00:00 2001 From: Jorge Ruesga Date: Sat, 24 Nov 2012 20:59:25 +0100 Subject: [PATCH 05/10] CMFileManager: Compress type selection dialog has an invalid background The background dialog for selecting the compression type has an invalid color. The valid color is the background color of the dialog. Change-Id: Ib5ecf1c59e5c99ccd6ed8707646b718ca88dbcd9 --- .../adapters/CheckableListAdapter.java | 20 ++++++++++++++++++- .../filemanager/util/DialogHelper.java | 2 +- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/com/cyanogenmod/filemanager/adapters/CheckableListAdapter.java b/src/com/cyanogenmod/filemanager/adapters/CheckableListAdapter.java index e9960ac47..befac79b6 100644 --- a/src/com/cyanogenmod/filemanager/adapters/CheckableListAdapter.java +++ b/src/com/cyanogenmod/filemanager/adapters/CheckableListAdapter.java @@ -72,6 +72,8 @@ public ViewHolder() { TextView mTvTitle; } + private final boolean mIsDialog; + //The resource of the item check private static final int RESOURCE_ITEM_CHECK = R.id.option_list_item_check; //The resource of the item name @@ -85,7 +87,21 @@ public ViewHolder() { */ public CheckableListAdapter( Context context, List items) { + this(context, items, false); + } + + /** + * Constructor of CheckableListAdapter. + * + * @param context The current context + * @param items An array of items to add to the current list + * @param isDialog Indicates if the owner is a dialog (not a popup). In this case, + * use the background of the dialog. + */ + public CheckableListAdapter( + Context context, List items, boolean isDialog) { super(context, RESOURCE_ITEM_NAME, items); + this.mIsDialog = isDialog; } /** @@ -127,7 +143,9 @@ public View getView(int position, View convertView, ViewGroup parent) { Theme theme = ThemeManager.getCurrentTheme(getContext()); theme.setBackgroundDrawable( getContext(), v, - "menu_checkable_selector_drawable"); //$NON-NLS-1$ + (this.mIsDialog) ? + "selectors_deselected_drawable" : //$NON-NLS-1$ + "menu_checkable_selector_drawable"); //$NON-NLS-1$ theme.setTextColor( getContext(), viewHolder.mTvTitle, "text_color"); //$NON-NLS-1$ theme.setImageDrawable( diff --git a/src/com/cyanogenmod/filemanager/util/DialogHelper.java b/src/com/cyanogenmod/filemanager/util/DialogHelper.java index 4e9ca5299..69960f8e6 100644 --- a/src/com/cyanogenmod/filemanager/util/DialogHelper.java +++ b/src/com/cyanogenmod/filemanager/util/DialogHelper.java @@ -190,7 +190,7 @@ public static AlertDialog createSingleChoiceDialog( boolean checked = (i == defOption); items.add(new CheckableListAdapter.CheckableItem(options[i], true, checked)); } - final CheckableListAdapter adapter = new CheckableListAdapter(context, items); + final CheckableListAdapter adapter = new CheckableListAdapter(context, items, true); // Create the list view and set as view final ListView listView = new ListView(context); From ea95876fbfa57f1a71b39b23ac99db8c9b258cb7 Mon Sep 17 00:00:00 2001 From: Jorge Ruesga Date: Sat, 24 Nov 2012 21:58:21 +0100 Subject: [PATCH 06/10] CMFileManager: Fix quickfoldersearch command for files with whitespaces This change fixed the quickfoldersearch command used by InlineAutocompleteTextView widget, when retrieve items with some whitespace in its name. Replace awk by cut command, and redirect stderr output of ls to /dev/null. Change-Id: Id039e573dc5e6ae5755b3251f014f34cd104f426 --- res/xml/command_list.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/xml/command_list.xml b/res/xml/command_list.xml index 26cd51ebf..caa288ac2 100644 --- a/res/xml/command_list.xml +++ b/res/xml/command_list.xml @@ -55,7 +55,7 @@ - + From 77fafd9bb6c0ab9ca98584f920dc5617c22764f5 Mon Sep 17 00:00:00 2001 From: Jorge Ruesga Date: Sun, 25 Nov 2012 20:53:23 +0100 Subject: [PATCH 07/10] Issue 6722: CM File Manager can not Play/Start files recorded with CM embedded Soundrekorder Issue: http://code.google.com/p/cyanogenmod/issues/detail?id=6722 Updated "video/3gpp" and "video/3gpp2" mime/types extensions Change-Id: I5c04a582ea5f961dd6387602613d5b2248a9ff5e --- res/raw/mime_types.properties | 2 ++ 1 file changed, 2 insertions(+) diff --git a/res/raw/mime_types.properties b/res/raw/mime_types.properties index 4a8b0a4fa..a9a8229f4 100644 --- a/res/raw/mime_types.properties +++ b/res/raw/mime_types.properties @@ -263,7 +263,9 @@ wav = AUDIO | audio/x-wav | fso_type_audio_drawable # Video 3gp = VIDEO | video/3gpp | fso_type_video_drawable +3gpp = VIDEO | video/3gpp | fso_type_video_drawable 3g2 = VIDEO | video/3gpp2 | fso_type_video_drawable +3gpp2 = VIDEO | video/3gpp2 | fso_type_video_drawable h261 = VIDEO | video/h261 | fso_type_video_drawable h263 = VIDEO | video/h263 | fso_type_video_drawable h264 = VIDEO | video/h264 | fso_type_video_drawable From 61ced4b0255c2c21db8347964b859a67d973d45f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Ventura?= Date: Sun, 25 Nov 2012 15:59:07 +0000 Subject: [PATCH 08/10] CMFileManager: pt-pt translations Patchset 1: initial translations Patchset 2: dark theme translation Change-Id: I3e2873f4574207eddfe5666180521d79a1c19e34 --- res/values-pt-rPT/strings.xml | 694 +++++++++++++++++++++++++++ themes/res/values-pt-rPT/strings.xml | 29 ++ 2 files changed, 723 insertions(+) create mode 100644 res/values-pt-rPT/strings.xml create mode 100644 themes/res/values-pt-rPT/strings.xml diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml new file mode 100644 index 000000000..0d1cb33f2 --- /dev/null +++ b/res/values-pt-rPT/strings.xml @@ -0,0 +1,694 @@ + + + + + + + Gestor de Ficheiros + + Gestor de Ficheiros CyanogenMod. + + + Dispositivo de Bloco + Dispositivo de Caracteres + Pipe com nome + Socket de domínio + + + RO + RW + + + Sim + Não + Todos + Substituir + + + ]]> + + Procurar: %1$s + + + A Ler\u2026 + + Cancelado. + + Erro. + + + Aviso + + Erro detectado + + Confirme operação + + Confirme substituição + + Confirme remoção + + + Confirme alteração + + Incapaz de executar em modo de acesso Root. Alterando para modo Seguro.\n\nAplicar esta alteração? + + + Incapaz de obter os previlégios necessários ao funcionamento. + + Incapaz de executar em modo de acesso Root. Alterando para modo Seguro. + + A definição não pôde ser aplicada ou guardada. + + A pasta inicial + "%1$s" é invalida. Mudando para a pasta root. + + + A operação foi concluída com sucesso. + + Foi detectado um erro. A operação não foi bem sucedida. + + Esta operação requere permissões elevadas. Experimente + mudar para modo de acesso Root. + + Ficheiro ou pasta não encontradas. + + O comando não foi encontrado ou tem uma definição inválida. + + Falha de Leitura/Escrita. + + A operação expirou. + + A operação falhou. + + Ocorreu um erro interno. + + A operação não pode ser cancelada. + + Sistema de ficheiros apenas de leitura. Tente montar o + sistema de ficheiros como rw antes de efectuar novamente a operação. + + Argumento inválida. Invocação falhou. + + A operação não é permitida pois pode criar inconsistências. + + A operação não é permitida na pasta currente. + + + Pressione novamente para sair. + + + Não existe aplicação registada para lidar com o tipo de ficheiros seleccionado. + + + + Alguns dos ficheiros existem na pasta de destino.\n\nSubstituir? + + + A associação entre acção e a aplicação falhou. + + + Esta operação requere permissões elevadas.\n\n + Deseja mudar para modo de acesso Root? + + + + Pasta acima + + Armazenamento externo + + Armazenamento USB + + + Informação do sistema de ficheiros + + Modo de ordenação + + Modo de vista + + Outras opções de vista + + Concluído + + Acções + + História + + Marcadores + + Procura + + Mais opções + + Volumes de armazenamento + + Guardar + + + Por nome ▲ + + Por nome ▼ + + Por data ▲ + + Por data ▼ + + + Icons + + Simples + + Detalhes + + + Mostrar pastas primeiro + + Mostrar ficheiros ocultos + + Mostrar ficheiros de sistema + + Mostrar symlinks + + + Nenhuma informação + + Não existe informação disponível para o sistema de ficheiros. + + + O sistema de ficheiros não pode ser montado/desmontado. + + Operações de montagem de sistema de ficheiros não são permitidos + em Modo de Segurança. Toque para alterar para modo de acesso Root. + + A operação de montagem do sistema de ficheiros falhou. + Alguns sistemas de ficheiros, como cartões SD, não podem ser montados/desmontados porque + estão no sistema como sistema de ficheiros apenas de leitura. + + Informação do sistema de ficheiros + + Info + + Util. disco + + Estado: + + Ponto de montagem: + + Dispositivo: + + Tipo: + + Opções: + + Dump / Pass: + + Total: + + Usado: + + Livre: + + + + Operações de permissões não são permitidas no modo + de segurança. Toque para alterar para modo de acesso Root. + + Operação de alteração de proprietário falhou.\n\n + Por razões de segurança, alguns sistemas de ficheiros, como cartões SD, não permitem alteração de propriedade. + + Operação de alteração de grupo falhou.\n\n + Por razões de segurança, alguns sistemas de ficheiros, como cartões SD, não permitem alterações de grupos. + + Operação de alteração de permissões falhou.\n\n + Por razões de segurança, alguns sistemas de ficheiros, como cartões SD, não permitem alteração de permissões. + + Propriedades + + Info + + Permissões + + Nome: + + Parente: + + Tipo: + + Categoria: + + Link: + + Tamanho: + + Contém: + + Último acesso: + + Dono: + + Grupo: + + Outros: + + + 0 pastas + 1 pasta + %1$d pastas + + + + 0 ficheiros + 1 ficheiro + %1$d ficheiros + + + + Histórico + + Histórico vazio. + + Item de histórico desconhecido. + + + Resultados de pesquisa + + Escreva a sua pesquisa + + Dite a sua pesquisa + + Ocorreu um erro durante a pesquisa. Nenhuns resultados encontrados. + + Nenhuns resultados encontrados. + + + Nenhuns itens encontrados + 1 item encontrado + %d itens encontrados + + + %1$s in + %2$s + + Termos:]]> %1$s + + Confirme pesquisa + + Alguns dos termos de pesquisa têm poucos caracteres. A + operação pode ser cara em termos de tempo e recursos do sistema.\n\nDeseja continuar? + + Aguarde\u2026 + + Pesquisa em progresso + + + + Escolha um ficheiro + + + Editor + + Ficheiro inválido. + + Ficheiro não encontrado. + + O ficheiro é demasiado grande para ser aberto neste dispositivo. + + Confirme saída + + Existem alterações por guardar.\n\nDeseja sair sem guardar? + + O ficheiro foi guardado com sucesso. + + O ficheiro está aberto apenas em modo de leitura. + + + Marcadores + + Home + + Pasta Root + + Pasta de Sistema + + Definir pasta inicial. + + Remover o marcador. + + O marcador foi adicionado com sucesso. + + + Pasta inicial + + Escolha a pasta inicial: + + Caminhos relativos não são permitidos. + + Ocorreu um erro durante a gravação da pasta inicial. + + + Histórico + + Marcadores + + Pesquisa + + Definições + + Limpar histórico + + + + %1$s - copiar%2$s + + + %1$s - novo%2$s + + + A realizar operação\u2026 + + A copiar\u2026 + + + De]]> %1$s]]> + Para]]> %2$s + + A mover\u2026 + + + De]]> %1$s]]> + Para]]> %2$s + + Removendo\u2026 + + + Ficheiro]]> %1$s + + Extraíndo\u2026 + + + Ficheiro]]> %1$s + + A comprimir\u2026 + + + Ficheiro]]> %1$s + + + Analisando\u2026]]> + + + A operação de extracção foi bem sucedida. Os dados foram extraídos para + %1$s. + + + A operação de compressão foi bem sucedida. Os dados foram comprimidos para + %1$s. + + + Acções + + Propriedades + + Actualizar + + Nova pasta + + Novo ficheiro + + Marcar todos + + Desmarcar todos + + Marcar + + Desmarcar + + Colar selecção + + Mover selecção + + Remover selecção + + Comprimir selecção + + Criar link + + Abrir + + Abrir com + + Executar + + Enviar + + Comprimir + + Extrair + + Remover + + Renomear + + Criar cópia + + Propriedades + + Adicionar aos marcadores + + Adicionar atalho + + Abrir parente + + + + Esta operação não poderá ser desfeita. Deseja continuar? + + + Nome: + + O nome não pode estar vazio. + + Nome inválido. Os caracteres + \'%1$s\' não são permitidos. + + Nome inválido. Os nomes \'.\' e + \'..\' não são permitidos. + + O nome já existe. + + + Associações + + Lembrar selecção + + Abrir com + + Abrir + + Enviar com + + Enviar + + + Nada para completar. + + + Consola + + Script: + + Tempo: + + Código de saída: + + + %1$s seg. + + + Pasta + + Symlink + + Desconhecido + + + %1$s pasta seleccionada. + %1$s pastas seleccionada. + %1$s ficheiro seleccionado. + %1$s ficheiros seleccionado. + %1$s pastas e + %2$s ficheiro seleccionados. + %1$s pasta e + %2$s ficheiros seleccionados. + %1$s pastas + e %2$s ficheiros seleccionados. + + + SISTEMA + APLICAÇÃO + BINÁRIO + TEXTO + DOCUMENTO + EBOOK + MAIL + COMPRIMIR + EXECUTÁVEL + BASE DE DADOS + FONTE + IMAGEM + AUDIO + VIDEO + SEGURANÇA + + + Modo de compressão + + + Falha do lidar com o atalho. + + Atalho criado com sucesso. + + Atalho criado sem sucesso. + + + Definições + + Definições gerais + + Opções de pesquisa + + Temas + + Sobre + + Gestor de Ficheiros v%1$s + \nCopyright \u00A9 2012 The CyanogenMod Project + + + Geral + + Usar ordenação de maiúsculas e minúsculas + + Alerta de utilização de disco + + + Mostrar uma cor diferente + nos widgets the utilização de disco quando atingem %1$s porcento de + espaço livre. + + Calcular estatísticas da pasta + + Atenção! O cálculo das estatísticas das pastas é cara em + tempo e recursos de sistema + + Usar gestos + + Usar detecção de gestos da esquerda para direita para remover ficheiros ou pastas. + + Avançado + + Modo de acesso + + Modo seguro + + Modo seguro\n\nA aplicação é executada sem previlégios + e apenas será acessível sistemas de ficheiros como volumes de armazenamento (cartões SD e USB) + + Modo de pergunta + + Modo de Pergunta\n\nA aplicação é executada com acesso total + ao sistema de ficheiros mas pedirá permissões antes de executar acções previlegiadas + + Modo de acesso Root + + Modo de acesso Root\n\nAviso! Este modo permite operações que podem + danificar o seu dispositivo. É da sua responsabilidade garantir que as operações são seguras + + Resultados + + Mostrar widget relevante + + Mostrar termos de pesquisa + + Modo de ordenação de resultados + + Sem ordenação + + Por nome + + Por relevância + + Privacidade + + Guardar termos de pesquisa + + Os termos de procura serão guardados e sugeridos em pesquisas futuras + + Os termos de procura não serão guardados + + Remover termos de procura guardados + + Toque para remover todos os termos de procura guardados + + Todos os termos de procura guardados foram removidos. + + Temas + + Definir item + + Sem pré-visualização\ndisponível + + Tema aplicado com sucesso. + + Tema não encontrado. + + + Log de informação de depuração + + + Tema claro + + Um tema claro para o Gestor de Ficheiros CyanogenMod. + + CyanogenMod + + + Aviso!\n\n + Extrair um ficheiro de sistema com pastas absolutas ou relativas pode causar problemas no seu dispositivo + ao substituir ficheiros de sistema.\n\n + Deseja continuar? + + + Changelog + + + Bem-vindo + + + Bem-vindo ao Gestor de Ficheiros Cyanogenmod. + \n\nEste dispositivo permite-lhe explorar o sistema de ficheiro e realizar operações que podem + alterar a estabilidade do seu dispositivo. Para previnir falhas, a aplicação irá iniciar num modo + de segurança, com poucos previlégios. + \n\nPode aceder às definições mais avançadas via Definições. É sua a responsabilidade de garantir + que uma operação não afecte a estabilidade do seu sistema. + \n\nA Equipa CyanogenMod.\n + + diff --git a/themes/res/values-pt-rPT/strings.xml b/themes/res/values-pt-rPT/strings.xml new file mode 100644 index 000000000..864d6fa9f --- /dev/null +++ b/themes/res/values-pt-rPT/strings.xml @@ -0,0 +1,29 @@ + + + + + + + Temas do Gestor de Ficheiros + + Temas do Gestor de Ficheiros CyanogenMod. + + + Tema escuro + + Um tema escuro para o Gestor de Ficheiros CyanogenMod. + + From fa691408c565d9e109c4b8d69a33bd4a746e44c0 Mon Sep 17 00:00:00 2001 From: Jorge Ruesga Date: Wed, 28 Nov 2012 00:39:07 +0100 Subject: [PATCH 09/10] Issue 6743: CM FileManager can't recognize file types if named with capital suffix Issue: http://code.google.com/p/cyanogenmod/issues/detail?id=6743 Added case compare to extension and mime/types. Change-Id: I394472e03b5a92590088fdebbb75dd13ee4bade2 --- res/raw/mime_types.properties | 2 +- .../filemanager/commands/shell/UncompressCommand.java | 2 +- .../filemanager/ui/policy/CompressActionPolicy.java | 2 +- src/com/cyanogenmod/filemanager/util/FileHelper.java | 2 +- .../cyanogenmod/filemanager/util/MimeTypeHelper.java | 10 +++++----- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/res/raw/mime_types.properties b/res/raw/mime_types.properties index a9a8229f4..db2d295e3 100644 --- a/res/raw/mime_types.properties +++ b/res/raw/mime_types.properties @@ -18,7 +18,7 @@ # Mime type list # # Format: -# = | | +# (extension) = (category) | (mime type) | (drawable) # # Binary diff --git a/src/com/cyanogenmod/filemanager/commands/shell/UncompressCommand.java b/src/com/cyanogenmod/filemanager/commands/shell/UncompressCommand.java index a4d277f9a..0bade8aca 100644 --- a/src/com/cyanogenmod/filemanager/commands/shell/UncompressCommand.java +++ b/src/com/cyanogenmod/filemanager/commands/shell/UncompressCommand.java @@ -342,7 +342,7 @@ private static Mode getMode(String src) { int cc = modes.length; for (int i = 0; i < cc; i++) { Mode mode = modes[i]; - if (mode.mMode.mExtension.compareTo(extension) == 0) { + if (mode.mMode.mExtension.compareToIgnoreCase(extension) == 0) { return mode; } } diff --git a/src/com/cyanogenmod/filemanager/ui/policy/CompressActionPolicy.java b/src/com/cyanogenmod/filemanager/ui/policy/CompressActionPolicy.java index 6c98f02d8..bdefe1986 100644 --- a/src/com/cyanogenmod/filemanager/ui/policy/CompressActionPolicy.java +++ b/src/com/cyanogenmod/filemanager/ui/policy/CompressActionPolicy.java @@ -743,7 +743,7 @@ static void checkZipSecurityWarning( // the system and is need a security alert that the user can confirm prior to // make the extraction String ext = FileHelper.getExtension(fso); - if (ConsoleBuilder.isPrivileged() && ext.compareTo("zip") == 0) { //$NON-NLS-1$ + if (ConsoleBuilder.isPrivileged() && ext.compareToIgnoreCase("zip") == 0) { //$NON-NLS-1$ AlertDialog dialog = DialogHelper.createYesNoDialog( ctx, R.string.confirm_overwrite, diff --git a/src/com/cyanogenmod/filemanager/util/FileHelper.java b/src/com/cyanogenmod/filemanager/util/FileHelper.java index f4f3612eb..abf4fed04 100644 --- a/src/com/cyanogenmod/filemanager/util/FileHelper.java +++ b/src/com/cyanogenmod/filemanager/util/FileHelper.java @@ -827,7 +827,7 @@ public static boolean isSupportedUncompressedFile(FileSystemObject fso) { if (ext != null) { int cc = VALID.length; for (int i = 0; i < cc; i++) { - if (VALID[i].compareTo(ext) == 0) { + if (VALID[i].compareToIgnoreCase(ext) == 0) { return true; } } diff --git a/src/com/cyanogenmod/filemanager/util/MimeTypeHelper.java b/src/com/cyanogenmod/filemanager/util/MimeTypeHelper.java index 3c7385dc5..b87110ddd 100644 --- a/src/com/cyanogenmod/filemanager/util/MimeTypeHelper.java +++ b/src/com/cyanogenmod/filemanager/util/MimeTypeHelper.java @@ -213,7 +213,7 @@ public static final String getIcon(Context context, FileSystemObject fso) { //Get the extension and delivery String ext = FileHelper.getExtension(fso); if (ext != null) { - MimeTypeInfo mimeTypeInfo = sMimeTypes.get(ext); + MimeTypeInfo mimeTypeInfo = sMimeTypes.get(ext.toLowerCase()); if (mimeTypeInfo != null) { // Create a new drawable if (!TextUtils.isEmpty(mimeTypeInfo.mDrawable)) { @@ -263,7 +263,7 @@ public static final String getMimeType(Context context, FileSystemObject fso) { String ext = FileHelper.getExtension(fso); if (ext != null) { //Load from the database of mime types - MimeTypeInfo mimeTypeInfo = sMimeTypes.get(ext); + MimeTypeInfo mimeTypeInfo = sMimeTypes.get(ext.toLowerCase()); if (mimeTypeInfo != null) { return mimeTypeInfo.mMimeType; } @@ -312,7 +312,7 @@ public static final String getMimeTypeDescription(Context context, FileSystemObj String ext = FileHelper.getExtension(fso); if (ext != null) { //Load from the database of mime types - MimeTypeInfo mimeTypeInfo = sMimeTypes.get(ext); + MimeTypeInfo mimeTypeInfo = sMimeTypes.get(ext.toLowerCase()); if (mimeTypeInfo != null) { return mimeTypeInfo.mMimeType; } @@ -347,7 +347,7 @@ public static final MimeTypeCategory getCategory(Context context, File file) { String ext = FileHelper.getExtension(file.getName()); if (ext != null) { //Load from the database of mime types - MimeTypeInfo mimeTypeInfo = sMimeTypes.get(ext); + MimeTypeInfo mimeTypeInfo = sMimeTypes.get(ext.toLowerCase()); if (mimeTypeInfo != null) { return mimeTypeInfo.mCategory; } @@ -387,7 +387,7 @@ public static final MimeTypeCategory getCategory(Context context, FileSystemObje String ext = FileHelper.getExtension(fso); if (ext != null) { //Load from the database of mime types - MimeTypeInfo mimeTypeInfo = sMimeTypes.get(ext); + MimeTypeInfo mimeTypeInfo = sMimeTypes.get(ext.toLowerCase()); if (mimeTypeInfo != null) { return mimeTypeInfo.mCategory; } From c056447414dacda0d1efa69fb263b69f377e8913 Mon Sep 17 00:00:00 2001 From: Gustavo Date: Thu, 22 Nov 2012 18:55:01 -0800 Subject: [PATCH 10/10] PT-BR: Added missing translations + Issue 6676 fix Change-Id: I3ddefe0ef5c71314f17845df0db4a3fa022e6ec2 --- res/values-pt-rBR/strings.xml | 21 +++++++++++++++------ themes/res/values-pt-rBR/strings.xml | 22 ++++++++++++++++++++++ 2 files changed, 37 insertions(+), 6 deletions(-) create mode 100755 themes/res/values-pt-rBR/strings.xml diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml index d381f7f08..b2193daca 100755 --- a/res/values-pt-rBR/strings.xml +++ b/res/values-pt-rBR/strings.xml @@ -196,11 +196,11 @@ Nova pasta Novo arquivo Selecionar tudo - Deselecionar tudo + Desselecionar tudo Selecionar - Deselecionar + Desselecionar Colar seleção - Movar seleção + Mover seleção Excluir seleção Comprimir seleção Criar atalho @@ -294,14 +294,23 @@ Por relevância Privacidade Salvar termos de busca - Os termos de busca irão ser salvos e usados como sugestões em buscas futuras - Termos de busca não irão ser salvos + Os termos de busca serão salvos e usados como sugestões em buscas futuras + Termos de busca não serão salvos Remover termos de busca salvos Pressione para remover todos os termos de busca salvos Todos os termos de busca foram removidos Logar informações de depuração - Aviso!\n\nAo extrair um arquivo com caminhos relativos ou absolutos pode danificar seu dispositivoao sobrescrever os arquivos de sistema.\n\nVocê deseja continuar? + Aviso!\n\nO dispositivo pode ser danificado se, ao extrair arquivos com caminhos relativos ou absolutos, arquivos de sistema forem sobrescritos.\n\nVocê deseja continuar? Registro de mudanças Bem vindo Bem vindo ao gerenciador de arquivos CyanogenMod.\n\nEste aplicativo permite você a explorar o sistema de arquivos e fazer operações que podem danificar seu dispositivo. Para previnir danos, o aplicativo irá iniciar em modo seguro e com poucos privilégios.\n\nVocê pode acessar o modo avançado, com todos os privilégios através das Configurações. É sua responsabilidade de garantir que uma operação não danifica seu sistema.\n\nThe CyanogenMod Team.\n + CyanogenMod + Temas + Temas + Definir tema + Sem previsualização + O tema foi aplicado com sucesso + Tema não foi encontrado + Tema claro + Um tema claro para o Gerenciador de Arquivos CyanogenMod \ No newline at end of file diff --git a/themes/res/values-pt-rBR/strings.xml b/themes/res/values-pt-rBR/strings.xml new file mode 100755 index 000000000..7c8b88d95 --- /dev/null +++ b/themes/res/values-pt-rBR/strings.xml @@ -0,0 +1,22 @@ + + + + + Temas do Gerenciador de Arquivos + Temas para o Gerenciador de Arquivos CyanogenMod + Tema escuro + Um tema escuro para o Gerenciador de Arquivos CyanogenMod + \ No newline at end of file