Skip to content

Commit

Permalink
适配12
Browse files Browse the repository at this point in the history
  • Loading branch information
wdsqjq committed Dec 21, 2021
1 parent 1888520 commit 1b0d1b3
Show file tree
Hide file tree
Showing 9 changed files with 50 additions and 22 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
**Step 2.** Add the dependency

```groovy
debugImplementation 'com.github.wdsqjq:CrashCanary:1.0.5'
debugImplementation 'com.github.wdsqjq:CrashCanary:1.0.6'
```

通过`debugImplementation`方式添加依赖只在debug模式生效,release模式不会生效。
Expand Down
14 changes: 9 additions & 5 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

android {
compileSdkVersion 29
compileSdkVersion 31

defaultConfig {
applicationId "per.wsj.crashcanary"
minSdkVersion 16
targetSdkVersion 29
targetSdkVersion 31
versionCode 1
versionName "1.0"
}
Expand All @@ -19,13 +18,18 @@ android {
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}

compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
}

dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.core:core-ktx:1.3.2'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
// debugImplementation project(path: ':lib')
debugImplementation 'com.github.wsj1024:CrashCanary:1.0.4'
debugImplementation project(path: ':lib')
// debugImplementation 'com.github.wdsqjq:CrashCanary:1.0.5'
}
3 changes: 2 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@
android:supportsRtl="true"
android:theme="@style/AppTheme">

<activity android:name=".MainActivity">
<activity android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

Expand Down
5 changes: 3 additions & 2 deletions app/src/main/java/per/wsj/crashcanary/MainActivity.kt
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
package per.wsj.crashcanary

import android.app.Activity
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*
import android.widget.Button

class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

btn.setOnClickListener {
findViewById<Button>(R.id.btn).setOnClickListener {
var i = 0
val j = 100 / i
}
Expand Down
16 changes: 10 additions & 6 deletions lib/build.gradle
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

android {
compileSdkVersion 29
compileSdkVersion 31

defaultConfig {
minSdkVersion 16
targetSdkVersion 29
targetSdkVersion 31
versionCode 1
versionName "1.0"

Expand All @@ -20,14 +19,19 @@ android {
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}

compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
}

dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.core:core-ktx:1.3.2'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.0'
implementation 'androidx.recyclerview:recyclerview:1.2.0'

implementation "androidx.startup:startup-runtime:1.0.0"
}
2 changes: 2 additions & 0 deletions lib/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,12 @@
<application>
<activity
android:name=".ui.CrashInfoActivity"
android:exported="false"
android:taskAffinity="wsj.crash.lib" />
<activity
android:name=".ui.CrashViewerActivity"
android:icon="@mipmap/ic_crash_icon"
android:exported="false"
android:taskAffinity="wsj.crash.lib">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
Expand Down
16 changes: 13 additions & 3 deletions lib/src/main/java/wsj/crash/lib/ui/CrashInfoActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@ package wsj.crash.lib.ui
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.MenuItem
import android.widget.TextView
import android.widget.Toast
import kotlinx.android.synthetic.main.activity_crash_info.*
import wsj.crash.lib.R
import wsj.crash.lib.db.DbManager

Expand All @@ -13,14 +14,23 @@ class CrashInfoActivity : AppCompatActivity() {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_crash_info)

supportActionBar?.setDisplayHomeAsUpEnabled(true)

val intExtra = intent.getIntExtra("id", 0)
val queryById = DbManager.getInstance(this).queryById(intExtra)
if (queryById.size > 0) {
tvDetail.text = queryById[0]["detail"]
findViewById<TextView>(R.id.tvDetail).text = queryById[0]["detail"]
} else {
// Toast.makeText(this, "index:$intExtra", Toast.LENGTH_LONG).show()
startActivity(Intent(this,CrashViewerActivity::class.java))
startActivity(Intent(this, CrashViewerActivity::class.java))
finish()
}
}

override fun onOptionsItemSelected(item: MenuItem): Boolean {
if (item.itemId == android.R.id.home) {
finish()
}
return super.onOptionsItemSelected(item)
}
}
12 changes: 9 additions & 3 deletions lib/src/main/java/wsj/crash/lib/ui/CrashViewerActivity.kt
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package wsj.crash.lib.ui

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.Toast
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.DividerItemDecoration
import androidx.recyclerview.widget.LinearLayoutManager
import kotlinx.android.synthetic.main.activity_crash_viewer.*
import androidx.recyclerview.widget.RecyclerView
import wsj.crash.lib.R
import wsj.crash.lib.adapter.LogAdapter
import wsj.crash.lib.bean.LogBean
Expand All @@ -16,6 +16,9 @@ class CrashViewerActivity : AppCompatActivity() {
lateinit var adapter: LogAdapter
private val mData = ArrayList<LogBean>()

private lateinit var rvLog: RecyclerView
private lateinit var tvEmpty: TextView

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_crash_viewer)
Expand All @@ -29,6 +32,9 @@ class CrashViewerActivity : AppCompatActivity() {
}

private fun initView() {
rvLog = findViewById(R.id.rvLog)
tvEmpty = findViewById(R.id.tvEmpty)

adapter = LogAdapter(this, mData)
adapter.setOnDeleteListener {
DbManager.getInstance(this).deleteById(it)
Expand Down
2 changes: 1 addition & 1 deletion lib/src/main/java/wsj/crash/lib/util/NotificationUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ public static Notification createNotification(Context context) {

NotificationCompat.Builder builder = initBaseBuilder(context, "CrashCanary", "正在检测程序运行异常", true);
Intent intent = new Intent(context, CrashViewerActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(context, 1, intent, PendingIntent.FLAG_UPDATE_CURRENT);
PendingIntent contentIntent = PendingIntent.getActivity(context, 1, intent, PendingIntent.FLAG_MUTABLE | PendingIntent.FLAG_UPDATE_CURRENT);
builder.setContentIntent(contentIntent);

return builder.build();
Expand Down

0 comments on commit 1b0d1b3

Please sign in to comment.