From 6f33a8a67cb0eb72a94d1f1271ac57212d524946 Mon Sep 17 00:00:00 2001 From: fengjian Date: Wed, 30 Mar 2016 20:57:09 +0800 Subject: [PATCH 01/46] support log click to source by line number in android studio --- .../src/main/java/com/jayfeng/lesscode/core/LogLess.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lesscode-core/src/main/java/com/jayfeng/lesscode/core/LogLess.java b/lesscode-core/src/main/java/com/jayfeng/lesscode/core/LogLess.java index ad24a5e..1d18483 100644 --- a/lesscode-core/src/main/java/com/jayfeng/lesscode/core/LogLess.java +++ b/lesscode-core/src/main/java/com/jayfeng/lesscode/core/LogLess.java @@ -153,12 +153,13 @@ private static String buildLogString(String str) { .append(str); } else { stringBuilder + .append("(") .append(caller.getFileName()) - .append(".") + .append(":") + .append(caller.getLineNumber()) + .append(").") .append(caller.getMethodName()) .append("():") - .append(caller.getLineNumber()) - .append(":") .append(str); } return stringBuilder.toString(); From 3858e470ba23e1257f8c1fee41c4e13adc6f8804 Mon Sep 17 00:00:00 2001 From: fengjian Date: Wed, 30 Mar 2016 21:36:41 +0800 Subject: [PATCH 02/46] support log string format, it can avoid release version log string concat for better performance --- .../lesscode/app/activity/MainActivity.java | 2 +- .../com/jayfeng/lesscode/core/LogLess.java | 29 ++++++++++++------- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/jayfeng/lesscode/app/activity/MainActivity.java b/app/src/main/java/com/jayfeng/lesscode/app/activity/MainActivity.java index 89679c3..b341140 100644 --- a/app/src/main/java/com/jayfeng/lesscode/app/activity/MainActivity.java +++ b/app/src/main/java/com/jayfeng/lesscode/app/activity/MainActivity.java @@ -62,7 +62,7 @@ public void onItemClick(AdapterView parent, View view, int position, long id) } }); - LogLess.$d("network:" + NetworkLess.$online() + ", type:" + NetworkLess.$type()); + LogLess.$d("network: %s, type: %s", NetworkLess.$online(), NetworkLess.$type()); Person person = new Person("fengj"); SerializeLess.$se(new File(getCacheDir(), "person").getAbsolutePath(), person); diff --git a/lesscode-core/src/main/java/com/jayfeng/lesscode/core/LogLess.java b/lesscode-core/src/main/java/com/jayfeng/lesscode/core/LogLess.java index 1d18483..1913128 100644 --- a/lesscode-core/src/main/java/com/jayfeng/lesscode/core/LogLess.java +++ b/lesscode-core/src/main/java/com/jayfeng/lesscode/core/LogLess.java @@ -26,9 +26,9 @@ public final class LogLess { * * @param str */ - public static void v(String str) { + public static void v(String str, Object... args) { if ($.sDebug || DEBUG_TAG_LOG) { - Log.v(getTag(), buildLogString(str)); + Log.v(getTag(), buildLogString(str, args)); } } @@ -37,9 +37,9 @@ public static void v(String str) { * * @param str */ - public static void $d(String str) { + public static void $d(String str, Object... args) { if ($.sDebug || DEBUG_TAG_LOG) { - Log.d(getTag(), buildLogString(str)); + Log.d(getTag(), buildLogString(str, args)); } } @@ -48,9 +48,9 @@ public static void v(String str) { * * @param str */ - public static void $i(String str) { + public static void $i(String str, Object... args) { if ($.sDebug || DEBUG_TAG_LOG) { - Log.i(getTag(), buildLogString(str)); + Log.i(getTag(), buildLogString(str, args)); } } @@ -59,9 +59,9 @@ public static void v(String str) { * * @param str */ - public static void $w(String str) { + public static void $w(String str, Object... args) { if ($.sDebug || DEBUG_TAG_LOG) { - Log.w(getTag(), buildLogString(str)); + Log.w(getTag(), buildLogString(str, args)); } } @@ -70,9 +70,9 @@ public static void v(String str) { * * @param str */ - public static void $e(String str) { + public static void $e(String str, Object... args) { if ($.sDebug || DEBUG_TAG_LOG) { - Log.e(getTag(), buildLogString(str)); + Log.e(getTag(), buildLogString(str, args)); } } @@ -116,6 +116,7 @@ public static void v(String str) { /** * json + * * @param str */ public static void $json(String str) { @@ -142,7 +143,13 @@ private static String getTag() { * @param str * @return */ - private static String buildLogString(String str) { + private static String buildLogString(String str, Object... args) { + + // format string with args + if (args.length > 0) { + str = String.format(str, args); + } + StackTraceElement caller = new Throwable().fillInStackTrace().getStackTrace()[2]; StringBuilder stringBuilder = new StringBuilder(); if (TextUtils.isEmpty($.sTAG)) { From 1f0272b426481cc517487e1471e215ad95412edd Mon Sep 17 00:00:00 2001 From: Jinks Date: Fri, 1 Apr 2016 14:54:59 +0800 Subject: [PATCH 03/46] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/jayfeng/lesscode/core/KeyBoardLess.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lesscode-core/src/main/java/com/jayfeng/lesscode/core/KeyBoardLess.java b/lesscode-core/src/main/java/com/jayfeng/lesscode/core/KeyBoardLess.java index 11cb5ea..dbf98fd 100644 --- a/lesscode-core/src/main/java/com/jayfeng/lesscode/core/KeyBoardLess.java +++ b/lesscode-core/src/main/java/com/jayfeng/lesscode/core/KeyBoardLess.java @@ -17,7 +17,7 @@ public final class KeyBoardLess { public static void $show(Context context, View view) { InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); - imm.showSoftInput(view, InputMethodManager.RESULT_SHOWN); + imm.showSoftInput(view, InputMethodManager.SHOW_FORCED); imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY); } From 508f5972dff31c6d032b358d1325702a8c419383 Mon Sep 17 00:00:00 2001 From: fengjian Date: Fri, 1 Apr 2016 15:57:38 +0800 Subject: [PATCH 04/46] add sample code for KeyBoradLess --- .../app/activity/KeyboradActivity.java | 28 +++++++++++++++ app/src/main/res/layout/activity_keyborad.xml | 35 ++++++++++++++----- 2 files changed, 54 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/jayfeng/lesscode/app/activity/KeyboradActivity.java b/app/src/main/java/com/jayfeng/lesscode/app/activity/KeyboradActivity.java index a1612bd..e9dd8d7 100644 --- a/app/src/main/java/com/jayfeng/lesscode/app/activity/KeyboradActivity.java +++ b/app/src/main/java/com/jayfeng/lesscode/app/activity/KeyboradActivity.java @@ -2,14 +2,42 @@ import android.app.Activity; import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; import com.jayfeng.lesscode.app.R; +import com.jayfeng.lesscode.core.KeyBoardLess; +import com.jayfeng.lesscode.core.ViewLess; public class KeyboradActivity extends Activity { + private EditText editText; + private Button showKeyboradButton; + private Button hideKeyboradButton; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_keyborad); + + editText = ViewLess.$(this, R.id.edit); + showKeyboradButton = ViewLess.$(this, R.id.show); + hideKeyboradButton = ViewLess.$(this, R.id.hide); + + showKeyboradButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + KeyBoardLess.$show(KeyboradActivity.this, editText); + } + }); + + hideKeyboradButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + KeyBoardLess.$hide(KeyboradActivity.this, editText); + } + }); + } } diff --git a/app/src/main/res/layout/activity_keyborad.xml b/app/src/main/res/layout/activity_keyborad.xml index 4f669c7..ba68b90 100644 --- a/app/src/main/res/layout/activity_keyborad.xml +++ b/app/src/main/res/layout/activity_keyborad.xml @@ -1,12 +1,29 @@ - - + - +