'This code will be applied to the manifest file during compilation.
'You do not need to modify it in most cases.
'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136
AddManifestText(
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="35"/>
<supports-screens android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:anyDensity="true"/>)
SetApplicationAttribute(android:icon, "@drawable/icon")
SetApplicationAttribute(android:label, "$LABEL$")
CreateResourceFromFile(Macro, Themes.LightTheme)
'End of default text.
'AddPermission(android.permission.READ_PHONE_STATE)
'AddPermission(android.permission.READ_PHONE_NUMBERS)
'AddPermission(android.permission.POST_NOTIFICATIONS)
'AddPermission(android.permission.CAMERA)
'AddPermission(android.permission.READ_EXTERNAL_STORAGE)
'AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)
'AddPermission(android.permission.READ_EXTERNAL_STORAGE)
'AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)
'*********************************Screen Resize for Samsung DEX*******************************
SetActivityAttribute(Main, android:resizeableActivity, "true")
SetActivityAttribute(NativeActivity, android:resizeableActivity, "true")
'AddActivityText(main,
'<meta-data android:name="android.max_aspect"
'android:value="2.1"/>)
'SetActivityAttribute(Main, "android:launchMode", "singleTop")
'SetActivityAttribute(Main, "android:configChanges", "orientation|screenSize|keyboardHidden")
'*********************************************************************************************
'start of adaptive icon --------------------------------------------------------------------
'online icon making: https://easyappicon.com/
'online instructions: https://www.b4x.com/android/forum/threads/adaptive-icons-simple-instructions-and-tips.123843/page-2
SetApplicationAttribute(android:icon, "@mipmap/ic_launcher")
SetApplicationAttribute(android:roundIcon, "@mipmap/ic_launcher_round")
CreateResourceFromFile(Macro, GooglePlayBilling.GooglePlayBilling)
CreateResource(mipmap-anydpi-v26, ic_launcher.xml,
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background" />
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
</adaptive-icon>
)
'end of adaptive icon --------------------------------------------------------------------
'************ Firebase Auth *******************************************************************
CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)
CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)
CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)
CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)
'CreateResourceFromFile(Macro, FirebaseAdMob.FirebaseAds)
CreateResourceFromFile(Macro, FirebaseAuth.FirebaseAuth)
'************ Firebase Auth (end) **************************************************************
'********************* Firebase Advertizement part *********************************************
SetApplicationAttribute(android:usesCleartextTraffic, "true")' to make web view work correctly
SetApplicationAttribute(android:uiOptions, "splitActionBarWhenNarrow")
'CreateResourceFromFile(Macro, GooglePlayBilling.GooglePlayBilling)
CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)
CreateResourceFromFile (Macro, FirebaseAdMob.FirebaseAds)
'*********************************************************************************************
'********************* Firebase Notifications part *********************************************
'CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)
AddManifestText(
<uses-permission
android:name="android.permission.WAKE_LOCK" />
<uses-permission
android:name="com.google.android.c2dm.permission.RECEIVE" />
<permission
android:name="${applicationId}.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission
android:name="${applicationId}.permission.C2D_MESSAGE" />
)
AddApplicationText(
<service
android:name="anywheresoftware.b4a.objects.FirebaseNotificationsService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
)
'*********************************************************************************************
'********************* File Provider *********************************************************
AddManifestText(<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="18" />
)
AddApplicationText(
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="$PACKAGE$.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
)
CreateResource(xml, provider_paths,
<files-path name="name" path="shared" />
)
'*********************************************************************************************