提交 cc3ee0d9 编写于 作者: 糕冷羊's avatar 糕冷羊

update 其他issue处理及1.2.0版本发布

上级 3f43b4e7
......@@ -30,10 +30,8 @@ android {
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.0'
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation project(':doraemonkit')
// implementation 'com.didichuxing.doraemonkit:doraemonkit:1.0.0'
implementation 'com.squareup.okhttp3:okhttp:3.12.1'
implementation 'com.squareup.okio:okio:1.15.0'
......
......@@ -10,59 +10,61 @@
android:id="@+id/btn_test_urlconnection"
android:layout_width="match_parent"
android:layout_height="50dp"
android:text="HttpUrlConnection Test" />
android:text="HttpUrlConnection Test"/>
<Button
android:id="@+id/btn_test_okhttp"
android:layout_width="match_parent"
android:layout_height="50dp"
android:text="OkHttp Test" />
android:text="OkHttp Test"/>
<Button
android:id="@+id/btn_test_custom"
android:layout_width="match_parent"
android:layout_height="50dp"
android:text="其他网络库 Test" />
android:text="其他网络库 Test"/>
<Button
android:id="@+id/btn_show_hide_icon"
android:layout_width="match_parent"
android:layout_height="50dp"
android:text="显示/隐藏入口" />
android:text="显示/隐藏入口"/>
<Button
android:id="@+id/btn_time_count"
android:layout_width="match_parent"
android:layout_height="50dp"
android:text="页面跳转耗时" />
android:text="页面跳转耗时"/>
<Button
android:id="@+id/btn_test_crash"
android:layout_width="match_parent"
android:layout_height="50dp"
android:text="模拟 Crash" />
android:text="模拟 Crash"/>
<Button
android:id="@+id/btn_create_database"
android:layout_width="match_parent"
android:layout_height="50dp"
android:text="创建数据库" />
android:text="创建数据库"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/btn_upload_test"
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="50dp"
android:text="上传测试" />
<Button
android:layout_weight="1"
android:text="上传测试"/>
<Button
android:id="@+id/btn_download_test"
android:layout_width="match_parent"
android:layout_height="50dp"
android:text="下载测试" />
android:layout_weight="1"
android:text="下载测试"/>
</LinearLayout>
......
package parking.didi.com.aop;
import com.didichuxing.doraemonkit.kit.network.NetworkManager;
import com.didichuxing.doraemonkit.kit.network.httpurlconnection.HttpUrlConnectionProxy;
import com.didichuxing.doraemonkit.kit.network.httpurlconnection.HttpsUrlConnectionProxy;
import com.didichuxing.doraemonkit.kit.network.httpurlconnection.proxy.HttpUrlConnectionProxy;
import com.didichuxing.doraemonkit.kit.network.httpurlconnection.proxy.HttpsUrlConnectionProxy;
import com.didichuxing.doraemonkit.kit.network.okhttp.DoraemonInterceptor;
import com.didichuxing.doraemonkit.kit.network.okhttp.DoraemonWeakNetworkInterceptor;
......
......@@ -37,4 +37,7 @@ public class DoraemonKit {
public static void disableUpload() {
}
public static void enableRequestPermissionSelf() {
}
}
\ No newline at end of file
......@@ -3,7 +3,7 @@ apply plugin: 'com.novoda.bintray-release'
publish {
def groupProjectID = 'com.didichuxing.doraemonkit'
def artifactProjectID = 'doraemonkit-no-op'
def publishVersionID = '1.1.8'
def publishVersionID = '1.2.0'
userOrg = 'doraemonkit'
repoName = 'DoraemonKit'
......
......@@ -294,4 +294,8 @@ public class DoraemonKit {
}
return null;
}
public static void enableRequestPermissionSelf() {
sHasRequestPermission = true;
}
}
......@@ -2,7 +2,10 @@ package com.didichuxing.doraemonkit.config;
import android.content.Context;
import com.didichuxing.doraemonkit.constant.CachesKey;
import com.didichuxing.doraemonkit.constant.SharedPrefsKey;
import com.didichuxing.doraemonkit.core.model.LatLng;
import com.didichuxing.doraemonkit.util.CacheUtils;
import com.didichuxing.doraemonkit.util.SharedPrefsUtil;
/**
......@@ -17,4 +20,12 @@ public class GpsMockConfig {
public static void setGPSMockOpen(Context context, boolean open) {
SharedPrefsUtil.putBoolean(context, SharedPrefsKey.GPS_MOCK_OPEN, open);
}
public static LatLng getMockLocation(Context context) {
return (LatLng) CacheUtils.readObject(context, CachesKey.MOCK_LOCATION);
}
public static void saveMockLocation(Context context, LatLng latLng) {
CacheUtils.saveObject(context, CachesKey.MOCK_LOCATION, latLng);
}
}
\ No newline at end of file
package com.didichuxing.doraemonkit.core.model;
import java.io.Serializable;
/**
* Created by wanglikun on 2019-07-19
*/
public class LatLng implements Serializable {
public double latitude;
public double longitude;
public LatLng(double latitude, double longitude) {
this.latitude = latitude;
this.longitude = longitude;
}
}
......@@ -27,6 +27,7 @@ import com.didichuxing.doraemonkit.util.threadpool.ThreadPoolProxyFactory;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.RandomAccessFile;
......@@ -40,10 +41,8 @@ import java.util.Date;
public class PerformanceDataManager {
private static final String TAG = "PerformanceDataManager";
private static final float SECOND_IN_NANOS = 1000000000f;
private static final int MAX_FRAME_RATE = 60;
private static final int NORMAL_FRAME_RATE = 1;
private String filePath;
private String memoryFileName = "memory.txt";
private String cpuFileName = "cpu.txt";
private String fpsFileName = "fps.txt";
......@@ -163,8 +162,7 @@ public class PerformanceDataManager {
}
public void init(Context context) {
mContext = context;
filePath = getFilePath(context);
mContext = context.getApplicationContext();
mActivityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
mAboveAndroidO = true;
......@@ -198,12 +196,7 @@ public class PerformanceDataManager {
}
private String getFilePath(Context context) {
boolean hasExternalStorage = Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState());
if (hasExternalStorage) {
return context.getExternalFilesDir(null).getAbsolutePath() + "/doraemon/";
} else {
return Environment.getExternalStorageDirectory().getAbsolutePath() + "/doraemon/";
}
return context.getCacheDir() + File.separator + "doraemon/";
}
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
......@@ -315,7 +308,7 @@ public class PerformanceDataManager {
ThreadPoolProxyFactory.getThreadPoolProxy().execute(new Runnable() {
@Override
public void run() {
FileManager.writeTxtToFile(JsonUtil.jsonFromObject(mUploadMonitorBean), filePath, customFileName);
FileManager.writeTxtToFile(JsonUtil.jsonFromObject(mUploadMonitorBean), getFilePath(mContext), customFileName);
}
});
}
......@@ -336,7 +329,7 @@ public class PerformanceDataManager {
stringBuilder.append(mLastCpuRate);
stringBuilder.append(" ");
stringBuilder.append(simpleDateFormat.format(new Date(System.currentTimeMillis())));
FileManager.writeTxtToFile(stringBuilder.toString(), filePath, cpuFileName);
FileManager.writeTxtToFile(stringBuilder.toString(), getFilePath(mContext), cpuFileName);
}
private void writeMemoryDataIntoFile() {
......@@ -344,7 +337,7 @@ public class PerformanceDataManager {
stringBuilder.append(mLastMemoryInfo);
stringBuilder.append(" ");
stringBuilder.append(simpleDateFormat.format(new Date(System.currentTimeMillis())));
FileManager.writeTxtToFile(stringBuilder.toString(), filePath, memoryFileName);
FileManager.writeTxtToFile(stringBuilder.toString(), getFilePath(mContext), memoryFileName);
}
private void writeFpsDataIntoFile() {
......@@ -352,7 +345,7 @@ public class PerformanceDataManager {
stringBuilder.append(mLastFrameRate);
stringBuilder.append(" ");
stringBuilder.append(simpleDateFormat.format(new Date(System.currentTimeMillis())));
FileManager.writeTxtToFile(stringBuilder.toString(), filePath, fpsFileName);
FileManager.writeTxtToFile(stringBuilder.toString(), getFilePath(mContext), fpsFileName);
}
private float getCPUData() {
......@@ -456,19 +449,19 @@ public class PerformanceDataManager {
}
public String getCpuFilePath() {
return filePath + cpuFileName;
return getFilePath(mContext) + cpuFileName;
}
public String getMemoryFilePath() {
return filePath + memoryFileName;
return getFilePath(mContext) + memoryFileName;
}
public String getFpsFilePath() {
return filePath + fpsFileName;
return getFilePath(mContext) + fpsFileName;
}
public String getCustomFilePath() {
return filePath + customFileName;
return getFilePath(mContext) + customFileName;
}
public long getLastFrameRate() {
return mLastFrameRate;
......
......@@ -41,6 +41,12 @@ public class PerformanceFragment extends BaseFragment {
return R.layout.dk_fragment_cpu_cache_log;
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
PerformanceDataManager.getInstance().init(getContext());
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
......
......@@ -18,6 +18,8 @@ import com.didichuxing.doraemonkit.ui.KitFloatPage;
import com.didichuxing.doraemonkit.ui.base.BaseFragment;
import com.didichuxing.doraemonkit.ui.base.FloatPageManager;
import com.didichuxing.doraemonkit.ui.base.PageIntent;
import com.didichuxing.doraemonkit.ui.dialog.DialogInfo;
import com.didichuxing.doraemonkit.ui.dialog.SimpleDialogListener;
import com.didichuxing.doraemonkit.ui.realtime.OnFloatPageChangeListener;
import com.didichuxing.doraemonkit.ui.realtime.RealTimeChartIconPage;
import com.didichuxing.doraemonkit.ui.realtime.RealTimeChartPage;
......@@ -91,15 +93,43 @@ public class MonitorDataUploadFragment extends BaseFragment implements OnFloatPa
@Override
public void onClick(View v) {
if (mCommitButton.getText().equals(getString(R.string.dk_platform_monitor_data_button_stop))) {
mCommitButton.setText(R.string.dk_platform_monitor_data_button);
PerformanceDataManager.getInstance().stopUploadMonitorData();
FloatPageManager.getInstance().removeAll(RealTimePerformDataFloatPage.class);
DialogInfo dialogInfo = new DialogInfo();
dialogInfo.title = getString(R.string.dk_platform_monitor_data_button_stop);
dialogInfo.listener = new SimpleDialogListener() {
@Override
public boolean onPositive() {
mCommitButton.setText(R.string.dk_platform_monitor_data_button);
PerformanceDataManager.getInstance().stopUploadMonitorData();
FloatPageManager.getInstance().removeAll(RealTimePerformDataFloatPage.class);
return true;
}
@Override
public boolean onNegative() {
return true;
}
};
showDialog(dialogInfo);
} else {
mCommitButton.setText(R.string.dk_platform_monitor_data_button_stop);
PerformanceDataManager.getInstance().startUploadMonitorData();
PageIntent pageIntent = new PageIntent(RealTimePerformDataFloatPage.class);
pageIntent.mode = PageIntent.MODE_SINGLE_INSTANCE;
FloatPageManager.getInstance().add(pageIntent);
DialogInfo dialogInfo = new DialogInfo();
dialogInfo.title = getString(R.string.dk_platform_monitor_data_button);
dialogInfo.listener = new SimpleDialogListener() {
@Override
public boolean onPositive() {
mCommitButton.setText(R.string.dk_platform_monitor_data_button_stop);
PerformanceDataManager.getInstance().startUploadMonitorData();
PageIntent pageIntent = new PageIntent(RealTimePerformDataFloatPage.class);
pageIntent.mode = PageIntent.MODE_SINGLE_INSTANCE;
FloatPageManager.getInstance().add(pageIntent);
return true;
}
@Override
public boolean onNegative() {
return true;
}
};
showDialog(dialogInfo);
}
}
});
......
......@@ -19,13 +19,9 @@ import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
public class PageDataFragment extends BaseFragment {
......@@ -37,6 +33,12 @@ public class PageDataFragment extends BaseFragment {
return R.layout.dk_fragment_monitor_pagedata;
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
PerformanceDataManager.getInstance().init(getContext());
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
......
......@@ -49,6 +49,7 @@ public class RealTimePerformDataFloatPage extends BaseFloatPage implements Touch
mHandler.sendEmptyMessageDelayed(UPDATE_DATA_WHAT, 1000);
}
};
PerformanceDataManager.getInstance().init(context);
}
@Override
......
......@@ -6,7 +6,6 @@ import android.support.annotation.Nullable;
import android.view.View;
import com.didichuxing.doraemonkit.R;
import com.didichuxing.doraemonkit.config.PerformanceInfoConfig;
import com.didichuxing.doraemonkit.constant.BundleKey;
import com.didichuxing.doraemonkit.kit.parameter.AbsParameterFragment;
import com.didichuxing.doraemonkit.kit.common.PerformanceDataManager;
......
......@@ -27,9 +27,7 @@ public class HandlerHooker {
hookInstrumentation();
isHookSucceed = true;
} catch (Exception e) {
if (DEBUG) {
LogHelper.e(TAG, e.toString());
}
e.printStackTrace();
}
}
......
......@@ -87,7 +87,11 @@ public class ViewBorderFrameLayout extends FrameLayout {
new ViewBorderDrawable(view)
});
}
view.setBackground(newDrawable);
try {
view.setBackground(newDrawable);
} catch (UnsupportedOperationException e) {
e.printStackTrace();
}
}
private void clearChild(View view) {
......
......@@ -38,6 +38,12 @@ public class RealTimeChartIconPage extends BaseFloatPage implements View.OnClick
return imageView;
}
@Override
protected void onCreate(Context context) {
super.onCreate(context);
PerformanceDataManager.getInstance().init(getContext());
}
@Override
protected void onViewCreated(View view) {
super.onViewCreated(view);
......
......@@ -3,7 +3,7 @@ apply plugin: 'com.novoda.bintray-release'
publish {
def groupProjectID = 'com.didichuxing.doraemonkit'
def artifactProjectID = 'doraemonkit'
def publishVersionID = '1.1.8'
def publishVersionID = '1.2.0'
userOrg = 'doraemonkit'
repoName = 'DoraemonKit'
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册