@@ -27,74 +27,61 @@ public static Application getInstance() {
2727 public static void initNetmera (Application app ) {
2828 mInstance = app ;
2929 Context context = app .getApplicationContext ();
30- float firebaseSenderId = getFloatMetadata (context , "netmera_firebase_senderid" );
31- float huaweiSenderId = getFloatMetadata (context , "netmera_huawei_senderid" );
32- String netmeraSdkKey = getStringMetadata (context , "netmera_mobile_sdkkey" );
33- String baseUrl = getStringMetadata (context , "netmera_optional_baseurl" );
34- if (firebaseSenderId <= 0 || netmeraSdkKey == null ) {
30+ String firebaseSenderId = getMetaData (context , "netmera_firebase_senderid" );
31+ String huaweiSenderId = getMetaData (context , "netmera_huawei_senderid" );
32+ String netmeraSdkKey = getMetaData (context , "netmera_mobile_sdkkey" );
33+ String baseUrl = getMetaData (context , "netmera_optional_baseurl" );
34+ if (firebaseSenderId == null || firebaseSenderId . isEmpty () || netmeraSdkKey == null ) {
3535 Log .d (Functions .LOGTAG , "ERROR: netmera_firebase_senderid or netmera_mobile_sdkkey can not be empty.\n Check your AndroidManifest.xml file." );
3636 return ;
3737 }
38- boolean mPopupDisabled = getBoolMetadata (context , "netmera_popup_presentation_disabled" );
38+ boolean mPopupDisabled = Boolean .parseBoolean (getMetaData (context , "netmera_popup_presentation_disabled" ));
39+ boolean mIsLoggingEnabled = !Boolean .parseBoolean (getMetaData (context , "netmera_logging_disabled" ));
3940
4041 NetmeraConfiguration .Builder netmeraConfiguration = new NetmeraConfiguration .Builder ()
41- .firebaseSenderId (String . valueOf ( firebaseSenderId ) )
42+ .firebaseSenderId (firebaseSenderId )
4243 .apiKey (netmeraSdkKey )
4344 .nmPushActionCallbacks (new NetmeraPluginPushReceiver ())
44- .logging (! getBoolMetadata ( context , "netmera_logging_disabled" ) );
45+ .logging (mIsLoggingEnabled );
4546
46- if (huaweiSenderId > 0 ) {
47- netmeraConfiguration .huaweiSenderId (String . valueOf ( huaweiSenderId ) );
47+ if (huaweiSenderId != null && ! huaweiSenderId . isEmpty () ) {
48+ netmeraConfiguration .huaweiSenderId (huaweiSenderId );
4849 }
4950
5051 NetmeraPlugin .mIsInitialized = true ;
5152 Netmera .init (netmeraConfiguration .build (context ));
5253 if (baseUrl != null ) {
5354 Netmera .setBaseUrl (baseUrl );
5455 }
55- if (!mPopupDisabled ) {
56- Netmera .enablePopupPresentation ();
57- } else {
56+
57+ if (mPopupDisabled ) {
5858 Netmera .disablePopupPresentation ();
59+ } else {
60+ Netmera .enablePopupPresentation ();
5961 }
62+
6063 FirebaseMessaging .getInstance ().setAutoInitEnabled (true );
61- Functions .log ("init called: fcmSenderId: " + firebaseSenderId + " netmeraSdkKey: " + netmeraSdkKey + " popupPresentationEnabled : " + mPopupDisabled + " baseUrl: " + baseUrl , NetmeraPlugin .LogLevel .INFO );
64+ Functions .log ("init called: fcmSenderId: " + firebaseSenderId + " netmeraSdkKey: " + netmeraSdkKey + " popupPresentationDisabled : " + mPopupDisabled + " baseUrl: " + baseUrl , NetmeraPlugin .LogLevel .INFO );
6265 }
6366
64- public static String getStringMetadata (Context context , String name ) {
67+ public static String getMetaData (Context context , String name ) {
6568 try {
6669 ApplicationInfo appInfo = context .getPackageManager ().getApplicationInfo (context .getPackageName (), PackageManager .GET_META_DATA );
6770 if (appInfo .metaData != null ) {
68- String trimmed = appInfo .metaData .getString (name ) != null ? appInfo .metaData .getString (name ).trim () : null ;
69- return trimmed != null && trimmed .length () > 0 ? trimmed : null ;
71+ // Get the value, trim it, and return null if it's empty
72+ Object value = appInfo .metaData .get (name );
73+ if (value != null ) {
74+ String trimmed = value .toString ().trim ();
75+ return trimmed .isEmpty () ? null : trimmed ;
76+ } else {
77+ Log .i ("Netmera" , "Meta data not found for " + name );
78+ }
7079 }
7180 } catch (PackageManager .NameNotFoundException e ) {
72- return null ;
81+ // Log or handle exception if necessary
82+ Log .e ("Netmera" , "Application info not found" , e );
7383 }
7484 return null ;
7585 }
7686
77- public static float getFloatMetadata (Context context , String name ) {
78- try {
79- ApplicationInfo appInfo = context .getPackageManager ().getApplicationInfo (context .getPackageName (), PackageManager .GET_META_DATA );
80- if (appInfo .metaData != null ) {
81- return appInfo .metaData .getFloat (name ,0 ) ;
82- }
83- } catch (PackageManager .NameNotFoundException e ) {
84- return 0 ;
85- }
86- return 0 ;
87- }
88-
89- public static boolean getBoolMetadata (Context context , String name ) {
90- try {
91- ApplicationInfo appInfo = context .getPackageManager ().getApplicationInfo (context .getPackageName (), PackageManager .GET_META_DATA );
92- if (appInfo .metaData != null ) {
93- return appInfo .metaData .getBoolean (name );
94- }
95- } catch (PackageManager .NameNotFoundException e ) {
96- return false ;
97- }
98- return false ;
99- }
10087}
0 commit comments