summaryrefslogtreecommitdiffstats
path: root/src/com/android/browser/BrowserUtils.java
diff options
context:
space:
mode:
authorluxiaol <luxiaol@codeaurora.org>2013-07-19 17:14:06 +0800
committerkaiyiz <kaiyiz@codeaurora.org>2013-08-20 11:37:28 +0800
commitdbe4a62b0c189d1ecb2a9f21e16f7ad529d3b24d (patch)
treed1475c72244f3a8c5b9ec31112b9664cb5e53520 /src/com/android/browser/BrowserUtils.java
parent950f627953b2bfedecf827e3e6c020b2cbb3dcd2 (diff)
downloadandroid_packages_apps_Gello-dbe4a62b0c189d1ecb2a9f21e16f7ad529d3b24d.tar.gz
android_packages_apps_Gello-dbe4a62b0c189d1ecb2a9f21e16f7ad529d3b24d.tar.bz2
android_packages_apps_Gello-dbe4a62b0c189d1ecb2a9f21e16f7ad529d3b24d.zip
Browser: add to support new folder/bookmark function
Let browser's bookmark management support new folder/bookmark through press menu. Change-Id: Ic676bd76d27e9350d56d65a79f9a8a7d549f9069
Diffstat (limited to 'src/com/android/browser/BrowserUtils.java')
-rw-r--r--src/com/android/browser/BrowserUtils.java93
1 files changed, 93 insertions, 0 deletions
diff --git a/src/com/android/browser/BrowserUtils.java b/src/com/android/browser/BrowserUtils.java
new file mode 100644
index 00000000..e1a36002
--- /dev/null
+++ b/src/com/android/browser/BrowserUtils.java
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2013, The Linux Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package com.android.browser;
+
+import android.app.AlertDialog;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.text.InputFilter;
+import android.text.Spanned;
+import android.util.Log;
+import android.widget.EditText;
+
+public class BrowserUtils {
+
+ private static final String LOGTAG = "BrowserUtils";
+ public static final int FILENAME_MAX_LENGTH = 32;
+ public static final int ADDRESS_MAX_LENGTH = 2048;
+ private static AlertDialog.Builder mAlertDialog = null;
+
+ public static void maxLengthFilter(final Context context, final EditText editText,
+ final int max_length) {
+ InputFilter[] contentFilters = new InputFilter[1];
+ contentFilters[0] = new InputFilter.LengthFilter(max_length) {
+ public CharSequence filter(CharSequence source, int start, int end,
+ Spanned dest, int dstart, int dend) {
+ int keep = max_length - (dest.length() - (dend - dstart));
+ if (keep <= 0) {
+ showWarningDialog(context, max_length);
+ return "";
+ } else if (keep >= end - start) {
+ return null;
+ } else {
+ if (keep < source.length()) {
+ showWarningDialog(context, max_length);
+ }
+ return source.subSequence(start, start + keep);
+ }
+ }
+ };
+ editText.setFilters(contentFilters);
+ }
+
+ private static void showWarningDialog(final Context context, int max_length) {
+ if (mAlertDialog != null)
+ return;
+
+ mAlertDialog = new AlertDialog.Builder(context);
+ mAlertDialog.setTitle(R.string.browser_max_input_title)
+ .setIcon(android.R.drawable.ic_dialog_info)
+ .setMessage(context.getString(R.string.browser_max_input, max_length))
+ .setPositiveButton(R.string.ok,
+ new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int which) {
+ return;
+ }
+ })
+ .show()
+ .setOnDismissListener(new DialogInterface.OnDismissListener() {
+ public void onDismiss(DialogInterface dialog) {
+ Log.w("BrowserUtils", "onDismiss");
+ mAlertDialog = null;
+ return;
+ }
+ });
+ }
+}