Skip to content

Commit 83735f3

Browse files
committed
see 06/28 log
1 parent 56854c7 commit 83735f3

File tree

28 files changed

+263
-161
lines changed

28 files changed

+263
-161
lines changed

gradle/config/configApp.gradle

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,13 @@ def configSigning(Project pro) {
8787
def configApkName(Project pro) {
8888
pro.android.applicationVariants.all { variant ->
8989
if (variant.buildType.name != "debug") {
90-
variant.getPackageApplicationProvider().get().outputDirectory = new File("${rootDir.path}/apk")
91-
variant.getPackageApplicationProvider().get().outputScope.apkDatas.forEach { apkData ->
90+
def artifact = variant.getPackageApplicationProvider().get()
91+
artifact.outputDirectory = new File("${rootDir.path}/apk")
92+
artifact.outputScope.apkDatas.forEach { apkData ->
9293
apkData.outputFileName = "util" + suffix +
94+
(variant.flavorName == "" ? "" : ("_" + variant.flavorName)) +
9395
"_" + variant.versionName.replace(".", "_") +
96+
"_" + variant.buildType.name +
9497
".apk"
9598
}
9699
}

launcher/app/src/main/java/com/blankj/launcher/app/LauncherApp.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
import android.content.Context;
44

55
import com.blankj.lib.common.CommonApplication;
6+
import com.blankj.utilcode.util.LanguageUtils;
7+
8+
import java.util.Locale;
69

710
/**
811
* <pre>
@@ -29,6 +32,7 @@ protected void attachBaseContext(Context base) {
2932
public void onCreate() {
3033
super.onCreate();
3134
sInstance = this;
35+
LanguageUtils.applyLanguage(getBaseContext(), Locale.SIMPLIFIED_CHINESE);
3236
}
3337
}
3438

lib/base/src/main/java/com/blankj/lib/base/BaseFragment.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ public abstract class BaseFragment extends Fragment
3131
private static final String TAG = "BaseFragment";
3232
private static final String STATE_SAVE_IS_HIDDEN = "STATE_SAVE_IS_HIDDEN";
3333

34-
private ClickUtils.OnDebouncingClickListener mDebouncingClick = new ClickUtils.OnDebouncingClickListener() {
34+
private View.OnClickListener mClickListener = new View.OnClickListener() {
3535
@Override
36-
public void onDebouncingClick(View v) {
37-
BaseFragment.this.onDebouncingClick(v);
36+
public void onClick(View v) {
37+
onDebouncingClick(v);
3838
}
3939
};
4040

@@ -119,7 +119,7 @@ public void onDestroy() {
119119
}
120120

121121
public void applyDebouncingClickListener(View... views) {
122-
ClickUtils.applyGlobalDebouncing(views, mDebouncingClick);
122+
ClickUtils.applyGlobalDebouncing(views, mClickListener);
123123
}
124124

125125
public <T extends View> T findViewById(@IdRes int id) {

lib/base/src/main/java/com/blankj/lib/base/rv/BaseAdapter.java

Lines changed: 40 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,19 @@
1818
*/
1919
public class BaseAdapter<Cell extends BaseCell> extends RecyclerView.Adapter<BaseViewHolder> {
2020

21+
public BaseCell mEmptyCell;
22+
public List<BaseCell> mHeaders;
2123
public List<Cell> mData;
24+
public List<BaseCell> mFooters;
2225
public Context mContext;
2326
public LayoutInflater mInflater;
2427

25-
public void setData(@NonNull final List<Cell> data) {
26-
mData = data;
27-
}
28-
29-
public List<Cell> getData() {
30-
return mData;
31-
}
32-
3328
@Override
3429
public final int getItemViewType(int position) {
30+
int headerSize = getHeaderSize();
31+
if (headerSize > position) {
32+
return mHeaders.get(position).viewType;
33+
}
3534
return mData.get(position).viewType;
3635
}
3736

@@ -47,16 +46,44 @@ public final void onBindViewHolder(@NonNull BaseViewHolder holder, int position)
4746
mData.get(position).bind(holder, position);
4847
}
4948

49+
@Override
50+
public void onViewRecycled(@NonNull BaseViewHolder holder) {
51+
super.onViewRecycled(holder);
52+
int position = holder.getAdapterPosition();
53+
mData.get(position).onViewRecycled(holder, position);
54+
}
55+
5056
@Override
5157
public int getItemCount() {
58+
return getHeaderSize() + getDataSize() + getFooterSize();
59+
}
60+
61+
public void setEmptyCell(BaseCell emptyCell) {
62+
mEmptyCell = emptyCell;
63+
}
64+
65+
private int getHeaderSize() {
66+
if (mHeaders == null) return 0;
67+
return mHeaders.size();
68+
}
69+
70+
private int getDataSize() {
5271
if (mData == null) return 0;
5372
return mData.size();
5473
}
5574

56-
@Override
57-
public void onViewRecycled(@NonNull BaseViewHolder holder) {
58-
super.onViewRecycled(holder);
59-
int position = holder.getAdapterPosition();
60-
mData.get(position).onViewRecycled(holder, position);
75+
private int getFooterSize() {
76+
if (mFooters == null) return 0;
77+
return mFooters.size();
78+
}
79+
80+
public void setData(@NonNull final List<Cell> data) {
81+
mData = data;
6182
}
83+
84+
public List<Cell> getData() {
85+
return mData;
86+
}
87+
88+
6289
}

lib/base/src/main/java/com/blankj/lib/base/rv/BaseCell.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,12 @@ public void onViewRecycled(@NonNull final BaseViewHolder holder, final int posit
3636
protected int viewType;
3737

3838
public BaseCell(int layoutId) {
39-
viewType = getClass().hashCode();
39+
viewType = layoutId + getClass().hashCode();
4040
LAYOUT_SPARSE_ARRAY.put(viewType, layoutId);
4141
}
4242

4343
public BaseCell(View view) {
44-
viewType = getClass().hashCode();
44+
viewType = view.hashCode() + getClass().hashCode();
4545
VIEW_SPARSE_ARRAY.put(viewType, view);
4646
}
4747

subutil/lib/src/main/java/com/blankj/subutil/util/CountryUtils.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.blankj.subutil.util;
22

33
import android.content.Context;
4+
import android.content.res.Resources;
45
import android.telephony.TelephonyManager;
56

67
import com.blankj.utilcode.util.Utils;
@@ -36,7 +37,7 @@ public static String getCountryCodeByLanguage(String defaultValue) {
3637
}
3738

3839
public static String getCountryByLanguage() {
39-
return Utils.getApp().getResources().getConfiguration().locale.getCountry();
40+
return Resources.getSystem().getConfiguration().locale.getCountry();
4041
}
4142

4243
public static String getCountryBySim() {

subutil/lib/src/test/java/com/blankj/subutil/util/BaseTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.blankj.subutil.util;
22

33

4+
import com.blankj.utilcode.util.Utils;
5+
46
import org.junit.Test;
57
import org.junit.runner.RunWith;
68
import org.robolectric.RobolectricTestRunner;

subutil/lib/src/test/java/com/blankj/subutil/util/TestUtils.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.blankj.subutil.util;
22

3+
import com.blankj.utilcode.util.Utils;
4+
35
import org.junit.Test;
46
import org.junit.runner.RunWith;
57
import org.robolectric.RobolectricTestRunner;

subutil/lib/src/test/java/com/blankj/subutil/util/http/nodeServer/app.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

subutil/lib/src/test/java/com/blankj/subutil/util/http/nodeServer/index.htm

Lines changed: 0 additions & 18 deletions
This file was deleted.

subutil/lib/src/test/java/com/blankj/subutil/util/http/nodeServer/package.json

Lines changed: 0 additions & 13 deletions
This file was deleted.

subutil/lib/src/test/java/com/blankj/subutil/util/http/nodeServer/server.js

Lines changed: 0 additions & 79 deletions
This file was deleted.
Binary file not shown.

subutil/lib/src/test/java/com/blankj/subutil/util/http/nodeServer/users.json

Lines changed: 0 additions & 20 deletions
This file was deleted.

utilcode/lib/src/main/java/com/blankj/utilcode/util/ActivityUtils.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1034,9 +1034,10 @@ public static void startActivities(@NonNull final Activity activity,
10341034
/**
10351035
* Start home activity.
10361036
*/
1037-
public static void startHomeActivity() {
1037+
public static void startHomeActivity() throws SecurityException {
10381038
Intent homeIntent = new Intent(Intent.ACTION_MAIN);
10391039
homeIntent.addCategory(Intent.CATEGORY_HOME);
1040+
homeIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
10401041
startActivity(homeIntent);
10411042
}
10421043

utilcode/lib/src/main/java/com/blankj/utilcode/util/ClickUtils.java

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.blankj.utilcode.util;
22

3+
import android.os.SystemClock;
34
import android.support.annotation.IntRange;
45
import android.support.annotation.NonNull;
56
import android.view.MotionEvent;
@@ -187,6 +188,49 @@ public final void onClick(View v) {
187188
public abstract void onDebouncingClick(View v);
188189
}
189190

191+
public static abstract class OnMultiClickListener implements View.OnClickListener {
192+
193+
public static final long LENGTH_SHORT = 660;
194+
public static final long LENGTH_LONG = 1000;
195+
private static final int COUNT_CONTINUOUS_TAP = 5;
196+
private long mMinClickInterval = LENGTH_SHORT;
197+
private long mLastClickTime;
198+
private int mThresholdClickCount = COUNT_CONTINUOUS_TAP;
199+
private int mClickCount;
200+
201+
public OnMultiClickListener() {
202+
this.mThresholdClickCount = COUNT_CONTINUOUS_TAP;
203+
this.mMinClickInterval = LENGTH_SHORT;
204+
}
205+
206+
public OnMultiClickListener(int clickCount, long interval) {
207+
this.mThresholdClickCount = clickCount;
208+
this.mMinClickInterval = interval;
209+
}
210+
211+
public abstract void onMultiClick(View v);
212+
213+
@Override
214+
public void onClick(View v) {
215+
216+
long currentTime = SystemClock.uptimeMillis();
217+
long elapsedTime = currentTime - mLastClickTime;
218+
219+
mLastClickTime = currentTime;
220+
221+
if (elapsedTime < mMinClickInterval) {
222+
223+
if (++mClickCount >= COUNT_CONTINUOUS_TAP - 1) {
224+
mClickCount = 0;
225+
onMultiClick(v);
226+
}
227+
} else {
228+
mClickCount = 0;
229+
}
230+
}
231+
}
232+
233+
190234
private static class LazyHolder {
191235
private static final OnUtilsTouchListener INSTANCE = new OnUtilsTouchListener();
192236
}

0 commit comments

Comments
 (0)