diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9fcd757..819bac1 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -10,6 +10,7 @@ android:theme="@style/CjjBaseTheme"> diff --git a/app/src/main/java/com/example/blockcanary/DemoActivity.java b/app/src/main/java/com/example/blockcanary/DemoActivity.java index 89b2650..9a4d7f1 100644 --- a/app/src/main/java/com/example/blockcanary/DemoActivity.java +++ b/app/src/main/java/com/example/blockcanary/DemoActivity.java @@ -4,6 +4,7 @@ import android.os.Bundle; import android.support.design.widget.FloatingActionButton; import android.support.v7.app.AlertDialog; +import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; @@ -13,23 +14,20 @@ import java.io.FileInputStream; import java.io.IOException; -public class DemoActivity extends Activity implements View.OnClickListener { +public class DemoActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.activity_main); + setContentView(R.layout.activity_demo); - Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); - toolbar.setTitle("BlockCanary"); +// Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); +// toolbar.setTitle("BlockCanary"); - Button button1 = (Button) findViewById(R.id.button1); - Button button2 = (Button) findViewById(R.id.button2); - Button button3 = (Button) findViewById(R.id.button3); - button1.setOnClickListener(this); - button2.setOnClickListener(this); - button3.setOnClickListener(this); + getSupportFragmentManager().beginTransaction() + .add(R.id.container, DemoFragment.newInstance()) + .commit(); FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @@ -44,7 +42,7 @@ private void showTipDlg() { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("Tip"); builder.setMessage(getResources().getString(R.string.hello_world)); - builder.setNegativeButton("cancel",null); + builder.setNegativeButton("ok",null); builder.show(); } @@ -70,52 +68,5 @@ public boolean onOptionsItemSelected(MenuItem item) { return super.onOptionsItemSelected(item); } - @Override - public void onClick(View v) { - switch (v.getId()) { - case R.id.button1: - try { - Thread.sleep(2000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - break; - case R.id.button2: - for (int i = 0; i < 100; ++i) { - readFile(); - } - break; - case R.id.button3: - double result = compute(); - System.out.println(result); - break; - } - } - private double compute() { - double result = 0; - for (int i = 0; i < 1000000; ++i) { - result += Math.acos(Math.cos(i)); - result -= Math.asin(Math.sin(i)); - } - return result; - } - - private void readFile() { - FileInputStream reader = null; - try { - reader = new FileInputStream("/proc/stat"); - while (reader.read() != -1); - } catch (IOException e) { - e.printStackTrace(); - } finally { - if (reader != null) { - try { - reader.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - } } diff --git a/app/src/main/java/com/example/blockcanary/DemoFragment.java b/app/src/main/java/com/example/blockcanary/DemoFragment.java new file mode 100644 index 0000000..a7ba99b --- /dev/null +++ b/app/src/main/java/com/example/blockcanary/DemoFragment.java @@ -0,0 +1,105 @@ +package com.example.blockcanary; + +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; + +import java.io.FileInputStream; +import java.io.IOException; + + +public class DemoFragment extends Fragment implements View.OnClickListener{ + + public static DemoFragment newInstance() + { + DemoFragment f = new DemoFragment(); + return f; + } + + @Override + public void onCreate(final Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + } + + @Nullable + @Override + public View onCreateView(final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) { + View v = inflater.inflate(R.layout.activity_main,null); + return v; + } + + @Override + public void onViewCreated(final View view, @Nullable final Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + Button button1 = (Button) view.findViewById(R.id.button1); + Button button2 = (Button) view.findViewById(R.id.button2); + Button button3 = (Button) view.findViewById(R.id.button3); + + button1.setOnClickListener(this); + button2.setOnClickListener(this); + button3.setOnClickListener(this); + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + } + + @Override + public void onActivityCreated(@Nullable final Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + } + + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.button1: + try { + Thread.sleep(2000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + break; + case R.id.button2: + for (int i = 0; i < 100; ++i) { + readFile(); + } + break; + case R.id.button3: + double result = compute(); + System.out.println(result); + break; + } + } + + private double compute() { + double result = 0; + for (int i = 0; i < 1000000; ++i) { + result += Math.acos(Math.cos(i)); + result -= Math.asin(Math.sin(i)); + } + return result; + } + + private void readFile() { + FileInputStream reader = null; + try { + reader = new FileInputStream("/proc/stat"); + while (reader.read() != -1); + } catch (IOException e) { + e.printStackTrace(); + } finally { + if (reader != null) { + try { + reader.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } +} diff --git a/app/src/main/java/com/example/blockcanary/SplashActivity.java b/app/src/main/java/com/example/blockcanary/SplashActivity.java index d361ded..84c0565 100644 --- a/app/src/main/java/com/example/blockcanary/SplashActivity.java +++ b/app/src/main/java/com/example/blockcanary/SplashActivity.java @@ -8,7 +8,6 @@ public class SplashActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { - SplashActivity.this.setTheme(R.style.CjjBaseTheme_WhiteActivity); super.onCreate(savedInstanceState); startActivity(new Intent(this, DemoActivity.class)); SplashActivity.this.finish(); diff --git a/app/src/main/res/drawable/background_splash.xml b/app/src/main/res/drawable/background_splash.xml new file mode 100644 index 0000000..8ecd5eb --- /dev/null +++ b/app/src/main/res/drawable/background_splash.xml @@ -0,0 +1,13 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_demo.xml b/app/src/main/res/layout/activity_demo.xml new file mode 100644 index 0000000..066c36a --- /dev/null +++ b/app/src/main/res/layout/activity_demo.xml @@ -0,0 +1,31 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 00b7f01..5c5fdff 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,17 +1,25 @@ - + android:layout_height="@dimen/top_bar_height" + android:background="@color/material_blue"> + + + + + + 25dp + \ No newline at end of file diff --git a/app/src/main/res/values-v19/styles.xml b/app/src/main/res/values-v19/styles.xml new file mode 100644 index 0000000..f118a10 --- /dev/null +++ b/app/src/main/res/values-v19/styles.xml @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-v21/dimens.xml b/app/src/main/res/values-v21/dimens.xml new file mode 100644 index 0000000..efa0e56 --- /dev/null +++ b/app/src/main/res/values-v21/dimens.xml @@ -0,0 +1,3 @@ + + 25dp + \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 47c8224..f43f05c 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -2,4 +2,10 @@ 16dp 16dp + + 0dp + 48dp + 48dp + 0.5dp + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index df6dbdd..330278a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,5 +1,5 @@ - BlockCanary Demo + BlockCanary 点击按钮后,会触发主线程耗时时间,从而被BlockCanary,并记录卡慢日志,弹出notification,可以点击对应消息查看 线程\n等待\n阻塞 diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 270ee44..1b58828 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -3,7 +3,7 @@ -