Commit 997b3fd1 authored by Gavin An's avatar Gavin An

전화번호 추가 및 텍스트 붙여넣기 양쪽 다 추가

parent a9b64313
Pipeline #19 failed with stages
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
<option value="$PROJECT_DIR$/testModuleTwo" /> <option value="$PROJECT_DIR$/testModuleTwo" />
</set> </set>
</option> </option>
<option name="resolveModulePerSourceSet" value="false" />
</GradleProjectSettings> </GradleProjectSettings>
</option> </option>
</component> </component>
......
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="KotlinJpsPluginSettings">
<option name="version" value="1.6.21" />
</component>
</project>
\ No newline at end of file
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
</map> </map>
</option> </option>
</component> </component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" project-jdk-name="1.8" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="corretto-11" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" /> <output url="file://$PROJECT_DIR$/build/classes" />
</component> </component>
<component name="ProjectType"> <component name="ProjectType">
......
...@@ -27,7 +27,7 @@ class MainActivity : AppCompatActivity() { ...@@ -27,7 +27,7 @@ class MainActivity : AppCompatActivity() {
setPackageAutoComplete() setPackageAutoComplete()
} }
fun sendNotification(title: String?, contentData: String?, packageId: String?) { fun sendNotification(title: String?, contentData: String?, packageId: String?, tel: String?) {
val alarmMgr = NotificationManagerCompat.from(this) val alarmMgr = NotificationManagerCompat.from(this)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
val channel = NotificationChannel("alarmTest", "myNoti", NotificationManager.IMPORTANCE_HIGH) val channel = NotificationChannel("alarmTest", "myNoti", NotificationManager.IMPORTANCE_HIGH)
...@@ -42,16 +42,17 @@ class MainActivity : AppCompatActivity() { ...@@ -42,16 +42,17 @@ class MainActivity : AppCompatActivity() {
} }
alarmMgr.createNotificationChannel(channel) alarmMgr.createNotificationChannel(channel)
createAlarm(title, contentData, packageId, alarmMgr) createAlarm(title, contentData, packageId?: "", tel?: "", alarmMgr)
} else { } else {
createAlarm(title, contentData, packageId, alarmMgr) createAlarm(title, contentData, packageId?: "", tel?: "", alarmMgr)
} }
} }
private fun createAlarm( private fun createAlarm(
title: String?, title: String?,
contentData: String?, contentData: String?,
packageId: String?, packageId: String = "",
tel: String = "",
alarmMgr: NotificationManagerCompat alarmMgr: NotificationManagerCompat
) { ) {
val intent = Intent(baseContext, MainActivity::class.java) val intent = Intent(baseContext, MainActivity::class.java)
...@@ -61,9 +62,10 @@ class MainActivity : AppCompatActivity() { ...@@ -61,9 +62,10 @@ class MainActivity : AppCompatActivity() {
intent, PendingIntent.FLAG_UPDATE_CURRENT intent, PendingIntent.FLAG_UPDATE_CURRENT
) )
val builder = NotificationCompat.Builder(this, "alarmTest") val builder = NotificationCompat.Builder(this, "alarmTest")
val ticker = "${packageId};${tel}"
builder.apply { builder.apply {
setSmallIcon(R.drawable.ic_settings) setSmallIcon(R.drawable.ic_settings)
setTicker(packageId ?: "") setTicker(ticker)
setContentTitle(title ?: "") setContentTitle(title ?: "")
setContentText(contentData ?: "") setContentText(contentData ?: "")
priority = NotificationCompat.PRIORITY_DEFAULT priority = NotificationCompat.PRIORITY_DEFAULT
...@@ -80,7 +82,7 @@ class MainActivity : AppCompatActivity() { ...@@ -80,7 +82,7 @@ class MainActivity : AppCompatActivity() {
binding.etPackageId2.text?.clear() binding.etPackageId2.text?.clear()
} }
fun setClipBoardToText() { fun setClipBoardToText1() {
val cb: ClipboardManager = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager val cb: ClipboardManager = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
if (cb.hasPrimaryClip()) { if (cb.hasPrimaryClip()) {
if (cb.primaryClipDescription!!.hasMimeType(ClipDescription.MIMETYPE_TEXT_PLAIN)) { if (cb.primaryClipDescription!!.hasMimeType(ClipDescription.MIMETYPE_TEXT_PLAIN)) {
...@@ -89,20 +91,33 @@ class MainActivity : AppCompatActivity() { ...@@ -89,20 +91,33 @@ class MainActivity : AppCompatActivity() {
} }
} }
fun setClipBoardToText2() {
val cb: ClipboardManager = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
if (cb.hasPrimaryClip()) {
if (cb.primaryClipDescription!!.hasMimeType(ClipDescription.MIMETYPE_TEXT_PLAIN)) {
binding.etNotiText2.setText(cb.primaryClip?.getItemAt(0)?.coerceToText(this))
}
}
}
private fun setPackageAutoComplete() { private fun setPackageAutoComplete() {
val packageList = mutableListOf<String>() val packageList = mutableListOf<String>()
packageList.add("com.samsung.android.spay") packageList.add(Variable.SAMSUNG_PAY)
packageList.add("com.android.mms") packageList.add(Variable.LG_PAY)
packageList.add("com.samsung.android.messaging") packageList.add(Variable.MESSAGE_SAMSUNG_NOTIFY)
packageList.add("viva.republica.toss") packageList.add(Variable.TOSS_NOTIFY)
packageList.add("com.shinhan.sbanking") packageList.add(Variable.SHINHAN_SOL_BANK_NOTIFY)
packageList.add("com.kakao.talk") packageList.add(Variable.KAKAO_TALK_NOTIFY)
packageList.add("com.finnq.f1") // 핀크 packageList.add(Variable.FINNQ_NOTIFY) // 핀크
packageList.add("com.IBK.SmartPush.app") packageList.add(Variable.I_ONE_BANK_PUSH_NOTIFY) // i-ONE 알림
packageList.add("com.kbstar.starpush") // KB 스타알림 packageList.add(Variable.KB_STAR_PUSH_NOTIFY) // KB 스타알림
packageList.add("com.kbcard.kbkookmincard") // KB 국민카드 packageList.add(Variable.KB_CARD_NOTIFY) // KB 국민카드
packageList.add("com.kbstar.kbbank") // KB 스타뱅킹 packageList.add(Variable.KB_STAR_BANK_NOTIFY) // KB 스타뱅킹
packageList.add("com.nhn.android.search") // 네이버 packageList.add(Variable.NAVER_NOTIFY) // 네이버
packageList.add(Variable.WOORI_BANK_NOTIFY)
packageList.add(Variable.WOORI_CARD_NOTIFY)
packageList.add(Variable.WOORI_ONE_NOTIFY)
packageList.add(Variable.PAYCO_NOTIFY)
binding.etPackageId1.apply { binding.etPackageId1.apply {
setAdapter(ArrayAdapter(this@MainActivity, R.layout.support_simple_spinner_dropdown_item, packageList)) setAdapter(ArrayAdapter(this@MainActivity, R.layout.support_simple_spinner_dropdown_item, packageList))
} }
......
package com.example.notitest
class Variable {
companion object {
const val SAMSUNG_PAY = "com.samsung.android.spay"
const val LG_PAY = "com.lge.lgpay"
const val SHINHAN_SOL_BANK_NOTIFY = "com.shinhan.sbanking" // 신한 쏠(SOL)
const val SHINHAN_SOL_BANK_ALARM_NOTIFY = "com.shinhan.smartcaremgr" // SOL 알리미
const val SHINHAN_FAN_CARD_NOTIFY = "com.shcard.smartpay" // 신한플레이
const val WOORI_BANK_NOTIFY = "com.wooribank.smart.npib" // 우리 WON 뱅킹
const val WOORI_ONE_NOTIFY = "com.wr.alrim" // 우리은행 원터치알림
const val WOORI_CARD_NOTIFY = "com.wooricard.smartapp" // 우리 WON 카드
const val KAKAO_TALK_NOTIFY = "com.kakao.talk" // 카카오톡
const val KAKAO_BANK_NOTIFY = "com.kakaobank.channel" // 카카오뱅크
const val KB_STAR_PUSH_NOTIFY = "com.kbstar.starpush" // KB 스타알림
const val KB_CARD_NOTIFY = "com.kbcard.kbkookmincard" // KB 국민카드
const val KB_STAR_BANK_NOTIFY = "com.kbstar.kbbank" // KB 스타뱅킹
const val NH_BANK_NOTIFY = "nh.smart.banking" // NH 뱅킹
const val NH_CARD_NOTIFY = "nh.smart.card" // NH 농협카드
const val NH_PUSH_NOTIFY = "com.nh.mobilenoti" // NH 스마트알림
const val HANA_BANK_NOTIFY = "com.kebhana.hanapush" // 하나은행
const val HANA_APP_CARD_NOTIFY = "com.hanaskcard.paycla" // 하나카드(앱카드)
const val I_ONE_BANK_NOTIFY = "com.ibk.android.ionebank" // IBK 기업은행
const val I_ONE_BANK_PUSH_NOTIFY = "com.IBK.SmartPush.app" // i-ONE 알림
const val MESSAGE_LG_NOTIFY = "com.android.mms"
const val MESSAGE_SAMSUNG_NOTIFY = "com.samsung.android.messaging"
const val MESSAGE_ANDROID_NOTIFY = "com.google.android.apps.messaging"
const val LINE_PAY_NOTIFY = "jp.naver.line.android"
const val TOSS_NOTIFY = "viva.republica.toss"
const val FINNQ_NOTIFY = "com.finnq.f1"
const val NAVER_NOTIFY = "com.nhn.android.search"
const val PAYCO_NOTIFY = "com.nhnent.payapp"
}
}
\ No newline at end of file
...@@ -25,6 +25,14 @@ ...@@ -25,6 +25,14 @@
name="etPackageId2" name="etPackageId2"
type="String" /> type="String" />
<variable
name="etTel1"
type="String" />
<variable
name="etTel2"
type="String" />
<variable <variable
name="main" name="main"
type="com.example.notitest.MainActivity" /> type="com.example.notitest.MainActivity" />
...@@ -42,17 +50,6 @@ ...@@ -42,17 +50,6 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="10dp"> android:layout_marginHorizontal="10dp">
<androidx.appcompat.widget.AppCompatImageButton
android:id="@+id/iBtnPaste"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_marginTop="40dp"
android:background="@drawable/ic_copy"
android:onClick="@{() -> main.setClipBoardToText()}"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tvNotiTitle" android:id="@+id/tvNotiTitle"
android:layout_width="0dp" android:layout_width="0dp"
...@@ -61,7 +58,7 @@ ...@@ -61,7 +58,7 @@
android:text="@string/alarm_title" android:text="@string/alarm_title"
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/iBtnPaste" /> app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatEditText <androidx.appcompat.widget.AppCompatEditText
android:id="@+id/etNotiTitle" android:id="@+id/etNotiTitle"
...@@ -81,19 +78,30 @@ ...@@ -81,19 +78,30 @@
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:text="@string/alarm_one" android:text="@string/alarm_one"
app:layout_constraintBottom_toTopOf="@id/etNotiText1" app:layout_constraintBottom_toTopOf="@id/etNotiText1"
app:layout_constraintLeft_toLeftOf="@id/etNotiText1" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/etNotiTitle" /> app:layout_constraintTop_toBottomOf="@id/etNotiTitle" />
<androidx.appcompat.widget.AppCompatImageButton
android:id="@+id/iBtnPaste1"
android:layout_width="36dp"
android:layout_height="36dp"
android:background="@drawable/ic_copy"
android:onClick="@{() -> main.setClipBoardToText1()}"
app:layout_constraintBottom_toBottomOf="@id/etNotiText1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/etNotiText1" />
<androidx.appcompat.widget.AppCompatEditText <androidx.appcompat.widget.AppCompatEditText
android:id="@+id/etNotiText1" android:id="@+id/etNotiText1"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="12dp"
android:hint="@string/alarm_desc" android:hint="@string/alarm_desc"
android:imeOptions="actionDone" android:imeOptions="actionDone"
android:text="@={etData1}" android:text="@={etData1}"
android:textSize="20sp" android:textSize="16sp"
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintEnd_toStartOf="@id/iBtnPaste1"
app:layout_constraintRight_toRightOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvNoti1" /> app:layout_constraintTop_toBottomOf="@id/tvNoti1" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
...@@ -109,20 +117,31 @@ ...@@ -109,20 +117,31 @@
android:id="@+id/etNotiText2" android:id="@+id/etNotiText2"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="12dp"
android:hint="@string/alarm_desc" android:hint="@string/alarm_desc"
android:imeOptions="actionDone" android:imeOptions="actionDone"
android:text="@={etData2}" android:text="@={etData2}"
android:textSize="20sp" android:textSize="16sp"
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintEnd_toStartOf="@id/iBtnPaste2"
app:layout_constraintRight_toRightOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvNoti2" /> app:layout_constraintTop_toBottomOf="@id/tvNoti2" />
<androidx.appcompat.widget.AppCompatImageButton
android:id="@+id/iBtnPaste2"
android:layout_width="36dp"
android:layout_height="36dp"
android:background="@drawable/ic_copy"
android:onClick="@{() -> main.setClipBoardToText2()}"
app:layout_constraintBottom_toBottomOf="@id/etNotiText2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/etNotiText2" />
<androidx.appcompat.widget.AppCompatButton <androidx.appcompat.widget.AppCompatButton
android:id="@+id/btnSend1" android:id="@+id/btnSend1"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:onClick="@{() -> main.sendNotification(etTitle, etData1, etPackageId1)}" android:onClick="@{() -> main.sendNotification(etTitle, etData1, etPackageId1, etTel1)}"
android:text="@string/send_alarm_one" android:text="@string/send_alarm_one"
android:textSize="12sp" android:textSize="12sp"
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintLeft_toLeftOf="parent"
...@@ -133,7 +152,7 @@ ...@@ -133,7 +152,7 @@
android:id="@+id/btnSend2" android:id="@+id/btnSend2"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:onClick="@{() -> main.sendNotification(etTitle, etData2, etPackageId2)}" android:onClick="@{() -> main.sendNotification(etTitle, etData2, etPackageId2, etTel2)}"
android:text="@string/send_alarm_two" android:text="@string/send_alarm_two"
android:textSize="12sp" android:textSize="12sp"
app:layout_constraintLeft_toRightOf="@id/btnSend1" app:layout_constraintLeft_toRightOf="@id/btnSend1"
...@@ -149,8 +168,8 @@ ...@@ -149,8 +168,8 @@
android:textSize="12sp" android:textSize="12sp"
android:visibility="@{(etData1.length() > 0 || etData2.length() > 0 || etPackageId1.length() > 0 || etPackageId2.length() > 0) ? View.VISIBLE : View.GONE, default = gone }" android:visibility="@{(etData1.length() > 0 || etData2.length() > 0 || etPackageId1.length() > 0 || etPackageId2.length() > 0) ? View.VISIBLE : View.GONE, default = gone }"
app:layout_constraintLeft_toRightOf="@id/btnSend2" app:layout_constraintLeft_toRightOf="@id/btnSend2"
app:layout_constraintTop_toTopOf="@id/btnSend2"
app:layout_constraintRight_toRightOf="parent" app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="@id/btnSend2"
tools:visibility="visible" /> tools:visibility="visible" />
<androidx.appcompat.widget.AppCompatAutoCompleteTextView <androidx.appcompat.widget.AppCompatAutoCompleteTextView
...@@ -160,9 +179,9 @@ ...@@ -160,9 +179,9 @@
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:hint="1번 알림 보낼 패키지 id(com.example.test)" android:hint="1번 알림 보낼 패키지 id(com.example.test)"
android:text="@={etPackageId1}" android:text="@={etPackageId1}"
android:textSize="20sp" android:textSize="16sp"
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintEnd_toStartOf="@id/etTel1"
app:layout_constraintRight_toRightOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/etNotiText2" app:layout_constraintTop_toBottomOf="@id/etNotiText2"
tools:visibility="visible" /> tools:visibility="visible" />
...@@ -173,12 +192,38 @@ ...@@ -173,12 +192,38 @@
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:hint="2번 알림 보낼 패키지 id(com.example.test)" android:hint="2번 알림 보낼 패키지 id(com.example.test)"
android:text="@={etPackageId2}" android:text="@={etPackageId2}"
android:textSize="20sp" android:textSize="16sp"
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintEnd_toStartOf="@id/etTel2"
app:layout_constraintRight_toRightOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/etPackageId1" app:layout_constraintTop_toBottomOf="@id/etPackageId1"
tools:visibility="visible" /> tools:visibility="visible" />
<androidx.appcompat.widget.AppCompatAutoCompleteTextView
android:id="@+id/etTel1"
android:layout_width="0dp"
android:layout_height="0dp"
android:hint="1번 알림 보낼 전화번호"
android:text="@={etTel1}"
android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="@id/etPackageId1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/etPackageId1"
app:layout_constraintTop_toTopOf="@id/etPackageId1"
tools:visibility="visible" />
<androidx.appcompat.widget.AppCompatAutoCompleteTextView
android:id="@+id/etTel2"
android:layout_width="0dp"
android:layout_height="0dp"
android:hint="2번 알림 보낼 전화번호"
android:text="@={etTel2}"
android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="@id/etPackageId2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/etPackageId2"
app:layout_constraintTop_toTopOf="@id/etPackageId2"
tools:visibility="visible" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView> </ScrollView>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment