Skip to content
40 changes: 39 additions & 1 deletion plugin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,17 @@
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />
<uses-permission android:name="${applicationId}.permission.PushHandlerActivity"/>
<permission android:name="${applicationId}.permission.PushHandlerActivity" android:protectionLevel="signature"></permission>
</config-file>

<config-file target="AndroidManifest.xml" parent="/manifest/application">
<activity android:exported="true" android:launchMode="singleTop" android:showOnLockScreen="true" android:name="com.adobe.phonegap.push.IncomingCallActivity" android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
<activity android:exported="true" android:name="com.adobe.phonegap.push.IncomingCallActionHandlerActivity" />
<activity android:name="com.adobe.phonegap.push.PushHandlerActivity" android:exported="true" android:permission="${applicationId}.permission.PushHandlerActivity"/>
<activity android:name="com.adobe.phonegap.push.BackgroundHandlerActivity" android:exported="true" android:permission="${applicationId}.permission.BackgroundHandlerActivity">
<intent-filter>
Expand Down Expand Up @@ -71,14 +77,46 @@
<framework src="androidx.core:core:$ANDROIDX_CORE_VERSION" />
<framework src="me.leolin:ShortcutBadger:1.1.22@aar"/>
<framework src="com.google.firebase:firebase-messaging:$FCM_VERSION"/>


<!-- Setup view of push Call Screen -->
<source-file src="src/android/com/adobe/phonegap/push/IncomingCallActivity.kt" target-dir="java/com/adobe/phonegap/push/"/>

<resource-file src="src/android/res/values/push_dimens.xml" target="res/values/push_dimens.xml" />
<resource-file src="src/android/res/values/push_styles.xml" target="res/values/push_styles.xml" />
<resource-file src="src/android/res/drawable/ic_brand_logo.xml" target="res/drawable/ic_brand_logo.xml" />

<resource-file src="src/android/res/layout/activity_incoming_call.xml" target="res/layout/activity_incoming_call.xml" />
<resource-file src="src/android/res/drawable/circle_animation_avd.xml" target="res/drawable/circle_animation_avd.xml" />
<resource-file src="src/android/res/drawable/ic_accept.xml" target="res/drawable/ic_accept.xml" />
<resource-file src="src/android/res/drawable/ic_decline.xml" target="res/drawable/ic_decline.xml" />
<resource-file src="src/android/res/font/nunito_regular.ttf" target="res/font/nunito_regular.ttf" />

<config-file target="res/values/strings.xml" parent="/*">
<string name="incoming_call_title">Eingehender Videoanruf</string>
<string name="incoming_call_caller_name_def">Unknown caller</string>
<string name="incoming_call_btn_accept">Annehmen</string>
<string name="incoming_call_btn_decline">Ablehnen</string>
</config-file>

<config-file target="res/values/colors.xml" parent="/*">
<color name="brand_text">#00054b</color>
</config-file>

<!-- Resources -->
<source-file src="src/android/com/adobe/phonegap/push/FCMService.kt" target-dir="java/com/adobe/phonegap/push/"/>
<source-file src="src/android/com/adobe/phonegap/push/OnNotificationReceiverActivity.kt" target-dir="java/com/adobe/phonegap/push/"/>
<source-file src="src/android/com/adobe/phonegap/push/PushConstants.kt" target-dir="java/com/adobe/phonegap/push/"/>
<source-file src="src/android/com/adobe/phonegap/push/PushHandlerActivity.kt" target-dir="java/com/adobe/phonegap/push/"/>
<source-file src="src/android/com/adobe/phonegap/push/BackgroundHandlerActivity.kt" target-dir="java/com/adobe/phonegap/push/"/>
<source-file src="src/android/com/adobe/phonegap/push/PushPlugin.kt" target-dir="java/com/adobe/phonegap/push/"/>
<source-file src="src/android/com/adobe/phonegap/push/BackgroundActionButtonHandler.kt" target-dir="java/com/adobe/phonegap/push/"/>
<source-file src="src/android/com/adobe/phonegap/push/PushDismissedHandler.kt" target-dir="java/com/adobe/phonegap/push/"/>
<source-file src="src/android/com/adobe/phonegap/push/IncomingCallActionHandlerActivity.kt" target-dir="java/com/adobe/phonegap/push/"/>
<source-file src="src/android/com/adobe/phonegap/push/IncomingCallHelper.kt" target-dir="java/com/adobe/phonegap/push/"/>
<source-file src="src/android/com/adobe/phonegap/push/PushUtils.kt" target-dir="java/com/adobe/phonegap/push/"/>
<source-file src="src/android/com/adobe/phonegap/push/NotificationUtils.kt" target-dir="java/com/adobe/phonegap/push/"/>
<source-file src="src/android/com/adobe/phonegap/push/AndroidUtils.kt" target-dir="java/com/adobe/phonegap/push/"/>
<source-file src="src/android/com/adobe/phonegap/push/StringExtensions.kt" target-dir="java/com/adobe/phonegap/push/"/>
</platform>

<platform name="browser">
Expand Down
29 changes: 29 additions & 0 deletions src/android/com/adobe/phonegap/push/AndroidUtils.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package com.adobe.phonegap.push

import android.content.Context
import android.content.Intent
import android.content.SharedPreferences
import com.google.firebase.messaging.FirebaseMessagingService

object AndroidUtils {

/**
* Get the Application Name from Label
*/
fun getAppName(context: Context): String {
return context.packageManager.getApplicationLabel(context.applicationInfo) as String
}

fun intentForLaunchActivity(context: Context): Intent? {
val pm = context.packageManager
val packageName = context.packageName
return pm?.getLaunchIntentForPackage(packageName)
}

fun getPushSharedPref(context: Context): SharedPreferences {
return context.getSharedPreferences(
PushConstants.COM_ADOBE_PHONEGAP_PUSH,
FirebaseMessagingService.MODE_PRIVATE
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ class BackgroundActionButtonHandler : BroadcastReceiver() {

val notificationManager =
context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
notificationManager.cancel(FCMService.getAppName(context), notId)
notificationManager.cancel(AndroidUtils.getAppName(context), notId)

intent.extras?.let { extras ->
Log.d(TAG, "Intent Extras: $extras")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,11 @@ class BackgroundHandlerActivity : Activity() {
Log.d(TAG, "Start In Background: $startOnBackground")
Log.d(TAG, "Dismissed: $dismissed")

FCMService().setNotification(notId, "")
NotificationUtils.setNotification(notId, "")

if (!startOnBackground) {
val notificationManager = getSystemService(NOTIFICATION_SERVICE) as NotificationManager
notificationManager.cancel(FCMService.getAppName(this), notId)
notificationManager.cancel(AndroidUtils.getAppName(this), notId)
}

processPushBundle()
Expand Down
Loading