Skip to content

Commit

Permalink
see 11/02 log
Browse files Browse the repository at this point in the history
  • Loading branch information
Blankj committed Nov 2, 2016
1 parent b20421e commit a64c2e0
Show file tree
Hide file tree
Showing 15 changed files with 175 additions and 38 deletions.
4 changes: 4 additions & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,8 @@ dependencies {
compile project(':utilcode')
compile rootProject.ext.deps.design
compile rootProject.ext.deps.supportV4

debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
}
1 change: 1 addition & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
<activity android:name=".activities.AppActivity"/>
<activity android:name=".activities.CleanActivity"/>
<activity android:name=".activities.DeviceActivity"/>
<activity android:name=".activities.HandlerActivity"/>
<activity android:name=".activities.ImageActivity"/>
<activity
android:name=".activities.KeyboardActivity"
Expand Down
7 changes: 7 additions & 0 deletions app/src/main/java/com/blankj/androidutilcode/App.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

import com.blankj.utilcode.utils.CrashUtils;
import com.blankj.utilcode.utils.LogUtils;
import com.squareup.leakcanary.LeakCanary;

import java.lang.ref.WeakReference;

Expand All @@ -28,6 +29,12 @@ public static App getInstance() {
@Override
public void onCreate() {
super.onCreate();
if (LeakCanary.isInAnalyzerProcess(this)) {
// This process is dedicated to LeakCanary for heap analysis.
// You should not init your app in this process.
return;
}
LeakCanary.install(this);
ourInstance = this;
CrashUtils.getInstance().init(this);
LogUtils.getBuilder(this).setTag("MyTag").setLog2FileSwitch(true).create();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import android.view.View;
import android.widget.TextView;

import com.blankj.androidutilcode.App;
import com.blankj.androidutilcode.R;
import com.blankj.utilcode.utils.DeviceUtils;

Expand All @@ -17,7 +18,7 @@
* </pre>
*/
public class DeviceActivity extends Activity
implements View.OnClickListener{
implements View.OnClickListener {

@Override
protected void onCreate(Bundle savedInstanceState) {
Expand All @@ -31,8 +32,8 @@ protected void onCreate(Bundle savedInstanceState) {

tvAboutDevice.setText("isRoot: " + DeviceUtils.isDeviceRoot() +
"\ngetSDKVersion: " + DeviceUtils.getSDKVersion() +
"\ngetAndroidID: " + DeviceUtils.getAndroidID(this) +
"\ngetMacAddress: " + DeviceUtils.getMacAddress(this)+
"\ngetAndroidID: " + DeviceUtils.getAndroidID(App.getInstance()) +
"\ngetMacAddress: " + DeviceUtils.getMacAddress(App.getInstance()) +
"\ngetManufacturer: " + DeviceUtils.getManufacturer() +
"\ngetModel: " + DeviceUtils.getModel()
);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package com.blankj.androidutilcode.activities;

import android.app.Activity;
import android.os.Bundle;
import android.os.Message;
import android.view.View;
import android.widget.TextView;

import com.blankj.androidutilcode.R;
import com.blankj.utilcode.utils.DeviceUtils;
import com.blankj.utilcode.utils.HandlerUtils;
import com.blankj.utilcode.utils.LogUtils;

/**
* <pre>
* author: Blankj
* blog : http://blankj.com
* time : 2016/9/27
* desc : Device工具类测试
* </pre>
*/
public class HandlerActivity extends Activity
implements View.OnClickListener, HandlerUtils.OnReceiveMessageListener {

private TextView tvAboutHandler0;
private TextView tvAboutHandler1;
HandlerUtils.HandlerHolder handlerHolder;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_handler);

tvAboutHandler0 = (TextView) findViewById(R.id.tv_about_handler0);
tvAboutHandler1 = (TextView) findViewById(R.id.tv_about_handler1);
findViewById(R.id.btn_send_msg_after_3s).setOnClickListener(this);

handlerHolder = new HandlerUtils.HandlerHolder(this);
}

@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.btn_send_msg_after_3s:
handlerHolder.sendEmptyMessageDelayed(0, 30000);
break;
}
}

@Override
public void handlerMessage(Message msg) {
tvAboutHandler1.setText("get_msg_after_3s");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ public void deviceClick(View view) {
startActivity(new Intent(this, DeviceActivity.class));
}

public void handlerClick(View view) {
startActivity(new Intent(this, HandlerActivity.class));
}

public void imageClick(View view) {
startActivity(new Intent(this, ImageActivity.class));
}
Expand Down
1 change: 0 additions & 1 deletion app/src/main/res/layout/activity_device.xml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,5 @@
android:gravity="center"
/>


</LinearLayout>
</ScrollView>
40 changes: 40 additions & 0 deletions app/src/main/res/layout/activity_handler.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
android:padding="@dimen/spacing_small">


<Button
android:id="@+id/btn_send_msg_after_3s"
style="@style/BtnFont"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/handler.send_msg_after_3s"
/>

<TextView
android:id="@+id/tv_about_handler0"
style="@style/Font"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
/>

<TextView
android:id="@+id/tv_about_handler1"
style="@style/Font"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
/>


</LinearLayout>
</ScrollView>
8 changes: 8 additions & 0 deletions app/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,14 @@
android:text="@string/test.device"
/>

<Button
style="@style/BtnFont"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="handlerClick"
android:text="@string/test.handler"
/>

<Button
style="@style/BtnFont"
android:layout_width="match_parent"
Expand Down
4 changes: 4 additions & 0 deletions app/src/main/res/values/string.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
<string name="test.clean">CleanUtils Test</string>
<string name="test.crash">CrashUtils Test</string>
<string name="test.device">DeviceUtils Test</string>
<string name="test.handler">HandlerUtils Test</string>
<string name="test.image">ImageUtils Test</string>
<string name="test.keyboard">KeyboardUtils Test</string>
<string name="test.network">NetworkUtils Test</string>
Expand All @@ -33,6 +34,9 @@
<string name="device.shutdown">Shutdown</string>
<string name="device.reboot">Reboot</string>

<!--Handler相关-->
<string name="handler.send_msg_after_3s">Send Msg After 3s</string>

<!--Network相关-->
<string name="network.open_wireless_settings">Open Wireless Settings</string>
<string name="network.set_data_enabled">Set Data Enabled</string>
Expand Down
4 changes: 3 additions & 1 deletion update_log.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
###
#### 16/10/31 发布
#### 16/11/02 内存泄漏检测中
#### 16/11/01 内存泄漏检测中
#### 16/10/31 完善发布版本1.3.1和1.3.2
#### 16/10/30 修复获取IpAddress对于小米手机的Bug
#### 16/10/29 新增文件重命名和完善root
#### 16/10/23 测试中
Expand Down
2 changes: 1 addition & 1 deletion utilcode/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,5 @@ dependencies {
provided 'com.android.support:support-v4:24.0.0'
provided 'com.android.support:design:24.0.0'
}
apply from: "https://raw.githubusercontent.com/xiaopansky/android-library-publish-to-jcenter/master/bintrayUpload.gradle"
//apply from: "https://raw.githubusercontent.com/xiaopansky/android-library-publish-to-jcenter/master/bintrayUpload.gradle"
//gradlew bintrayUpload
43 changes: 43 additions & 0 deletions utilcode/src/main/java/com/blankj/utilcode/utils/HandlerUtils.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package com.blankj.utilcode.utils;

import android.os.Handler;
import android.os.Message;

import java.lang.ref.WeakReference;

/**
* <pre>
* author: Blankj
* blog : http://blankj.com
* time : 16/11/01
* desc : Handler相关工具类
* </pre>
*/
public class HandlerUtils {

private HandlerUtils() {
throw new UnsupportedOperationException("u can't instantiate me...");
}

public static class HandlerHolder extends Handler {
WeakReference<OnReceiveMessageListener> mListenerWeakReference;

/**
* @param listener 必读:推荐在Activity或者Activity内部持有类中实现该接口,不要使用匿名类,可能会被GC
*/
public HandlerHolder(OnReceiveMessageListener listener) {
mListenerWeakReference = new WeakReference<>(listener);
}

@Override
public void handleMessage(Message msg) {
if (mListenerWeakReference != null && mListenerWeakReference.get() != null) {
mListenerWeakReference.get().handlerMessage(msg);
}
}
}

public interface OnReceiveMessageListener {
void handlerMessage(Message msg);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ public static void showLongToast(Context context, String format, Object... args)
private static void showToast(Context context, CharSequence text, int duration) {
if (isJumpWhenMore) cancelToast();
if (sToast == null) {
sToast = Toast.makeText(context, text, duration);
sToast = Toast.makeText(context.getApplicationContext(), text, duration);
} else {
sToast.setText(text);
sToast.setDuration(duration);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,37 +6,7 @@
import java.io.FileInputStream;
import java.io.FilenameFilter;

import static com.blankj.utilcode.utils.FileUtils.copyDir;
import static com.blankj.utilcode.utils.FileUtils.copyFile;
import static com.blankj.utilcode.utils.FileUtils.createFileByDeleteOldFile;
import static com.blankj.utilcode.utils.FileUtils.createOrExistsDir;
import static com.blankj.utilcode.utils.FileUtils.createOrExistsFile;
import static com.blankj.utilcode.utils.FileUtils.deleteDir;
import static com.blankj.utilcode.utils.FileUtils.deleteFile;
import static com.blankj.utilcode.utils.FileUtils.deleteFilesInDir;
import static com.blankj.utilcode.utils.FileUtils.getDirName;
import static com.blankj.utilcode.utils.FileUtils.getFileByPath;
import static com.blankj.utilcode.utils.FileUtils.getFileCharsetSimple;
import static com.blankj.utilcode.utils.FileUtils.getFileExtension;
import static com.blankj.utilcode.utils.FileUtils.getFileLines;
import static com.blankj.utilcode.utils.FileUtils.getFileMD5ToString;
import static com.blankj.utilcode.utils.FileUtils.getFileName;
import static com.blankj.utilcode.utils.FileUtils.getFileNameNoExtension;
import static com.blankj.utilcode.utils.FileUtils.getFileSize;
import static com.blankj.utilcode.utils.FileUtils.isDir;
import static com.blankj.utilcode.utils.FileUtils.isFile;
import static com.blankj.utilcode.utils.FileUtils.isFileExists;
import static com.blankj.utilcode.utils.FileUtils.listFilesInDir;
import static com.blankj.utilcode.utils.FileUtils.listFilesInDirWithFilter;
import static com.blankj.utilcode.utils.FileUtils.moveDir;
import static com.blankj.utilcode.utils.FileUtils.moveFile;
import static com.blankj.utilcode.utils.FileUtils.readFile2Bytes;
import static com.blankj.utilcode.utils.FileUtils.readFile2List;
import static com.blankj.utilcode.utils.FileUtils.readFile2String;
import static com.blankj.utilcode.utils.FileUtils.rename;
import static com.blankj.utilcode.utils.FileUtils.searchFileInDir;
import static com.blankj.utilcode.utils.FileUtils.writeFileFromIS;
import static com.blankj.utilcode.utils.FileUtils.writeFileFromString;
import static com.blankj.utilcode.utils.FileUtils.*;
import static com.blankj.utilcode.utils.TestUtils.BASEPATH;
import static com.blankj.utilcode.utils.TestUtils.SEP;
import static com.google.common.truth.Truth.assertThat;
Expand Down

0 comments on commit a64c2e0

Please sign in to comment.