Skip to content

Commit

Permalink
Android Push Notification v2.4.1-1
Browse files Browse the repository at this point in the history
  • Loading branch information
darshanbhanushali committed Aug 30, 2021
1 parent c09d80e commit 34326b6
Show file tree
Hide file tree
Showing 549 changed files with 8,080 additions and 3,523 deletions.
33 changes: 26 additions & 7 deletions ConnectionService + Firebase/app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'

android {
compileSdkVersion 29
compileSdkVersion 30
defaultConfig {
applicationId "com.cometchat.pro.android.pushnotification"
minSdkVersion 21
targetSdkVersion 29
minSdkVersion 24
targetSdkVersion 30
versionCode 1
renderscriptSupportModeEnabled true
multiDexEnabled true
versionName "1.0"
versionName "2.4"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

manifestPlaceholders = [file_provider: "com.cometchat.pro.android.pushnotification"]
Expand All @@ -34,6 +35,19 @@ android {
}

}

android.applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = "Push Notification Sample"
outputFileName += "-v" + android.defaultConfig.versionName
if (variant.buildType.name == "release") {
outputFileName += ".apk"
} else {
outputFileName += "-debug.apk"
}
}
}

lintOptions {
checkReleaseBuilds false
// Or, if you prefer, you can continue to check for errors in release builds,
Expand All @@ -50,15 +64,20 @@ dependencies {
implementation 'androidx.navigation:navigation-fragment:2.0.0'
implementation 'androidx.navigation:navigation-ui:2.0.0'
implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'
implementation 'com.google.firebase:firebase-messaging:20.2.4'

implementation platform('com.google.firebase:firebase-bom:28.3.1')
implementation 'com.google.firebase:firebase-messaging'
implementation 'com.google.firebase:firebase-crashlytics'
implementation 'com.google.firebase:firebase-analytics'
testImplementation 'junit:junit:4.12'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'

implementation project(':uikit')
implementation 'com.google.android.material:material:1.2.0-alpha05'
implementation 'com.google.android.material:material:1.2.0-alpha01'
implementation 'com.facebook.shimmer:shimmer:0.4.0'
//
implementation 'com.cometchat:pro-android-chat-sdk:2.3.5'
implementation 'com.cometchat:pro-android-chat-sdk:2.4.1'
implementation 'com.cometchat:pro-android-calls-sdk:2.1.0'
}
5 changes: 5 additions & 0 deletions ConnectionService + Firebase/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ANSWER_PHONE_CALLS"/>
<uses-permission android:name="android.permission.READ_CALL_LOG"/>
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.MANAGE_OWN_CALLS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<application
android:requestLegacyExternalStorage="true"
android:name=".UIKitApplication"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ private void login(User user) {
CometChat.login(user.getUid(), AppConfig.AppDetails.AUTH_KEY, new CometChat.CallbackListener<User>() {
@Override
public void onSuccess(User user) {
startActivity(new Intent(CreateUserActivity.this,PushNotificationActivity.class));
startActivity(new Intent(CreateUserActivity.this, PushNotificationActivity.class));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,7 @@
import com.google.android.gms.tasks.Task;
import com.google.android.material.textfield.TextInputEditText;
import com.google.android.material.textfield.TextInputLayout;
import com.google.firebase.iid.FirebaseInstanceId;
import com.google.firebase.iid.InstanceIdResult;
import com.google.firebase.messaging.FirebaseMessaging;


public class LoginActivity extends AppCompatActivity {
Expand Down Expand Up @@ -103,18 +102,17 @@ private void login(String uid) {
public void onSuccess(User user) {
token = MyFirebaseMessagingService.token;
if (MyFirebaseMessagingService.token==null) {
FirebaseInstanceId.getInstance().getInstanceId()
.addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
@Override
public void onComplete(@NonNull Task<InstanceIdResult> task) {
if (!task.isSuccessful()) {
Toast.makeText(LoginActivity.this, task.getException().getLocalizedMessage(), Toast.LENGTH_LONG).show();
return;
}
token = task.getResult().getToken();
registerPushNotification(token);
}
});
FirebaseMessaging.getInstance().getToken().addOnCompleteListener(new OnCompleteListener<String>() {
@Override
public void onComplete(@NonNull Task<String> task) {
if (!task.isSuccessful()) {
Toast.makeText(LoginActivity.this, task.getException().getLocalizedMessage(), Toast.LENGTH_LONG).show();
return;
}
token = task.getResult();
registerPushNotification(token);
}
});
} else {
registerPushNotification(token);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,7 @@
import com.google.android.gms.tasks.Task;
import com.google.android.material.button.MaterialButton;
import com.google.android.material.card.MaterialCardView;
import com.google.firebase.iid.FirebaseInstanceId;
import com.google.firebase.iid.InstanceIdResult;
import com.google.firebase.messaging.FirebaseMessaging;

public class MainActivity extends AppCompatActivity {

Expand All @@ -47,7 +46,7 @@ protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (CometChat.getLoggedInUser()!=null)
startActivity(new Intent(MainActivity.this,PushNotificationActivity.class));
startActivity(new Intent(MainActivity.this, PushNotificationActivity.class));
loginBtn = findViewById(R.id.login);
superhero1 = findViewById(R.id.superhero1);
superhero2 = findViewById(R.id.superhero2);
Expand Down Expand Up @@ -92,18 +91,18 @@ private void login(String uid) {
public void onSuccess(User user) {
token = MyFirebaseMessagingService.token;
if (token==null) {
FirebaseInstanceId.getInstance().getInstanceId()
.addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
@Override
public void onComplete(@NonNull Task<InstanceIdResult> task) {
if (!task.isSuccessful()) {
Toast.makeText(MainActivity.this, task.getException().getLocalizedMessage(), Toast.LENGTH_LONG).show();
return;
}
token = task.getResult().getToken();
registerPushNotification(uid,token);
}
});
FirebaseMessaging.getInstance().getToken().addOnCompleteListener(new OnCompleteListener<String>() {
@Override
public void onComplete(@NonNull Task<String> task) {
if (!task.isSuccessful()) {
Toast.makeText(MainActivity.this, task.getException().getLocalizedMessage(), Toast.LENGTH_LONG).show();
return;
}
token = task.getResult();
Log.e(TAG, "onComplete: "+token);
registerPushNotification(uid,token);
}
});
} else {
registerPushNotification(uid,token);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
Expand All @@ -17,13 +18,15 @@
import com.cometchat.pro.android.pushnotification.utils.MyFirebaseMessagingService;
import com.cometchat.pro.core.CometChat;
import com.cometchat.pro.exceptions.CometChatException;
import com.cometchat.pro.uikit.ui_components.cometchat_ui.CometChatUI;
import com.google.android.material.bottomsheet.BottomSheetBehavior;
import com.google.android.material.bottomsheet.BottomSheetDialog;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;

public class MoreActionFragment extends BottomSheetDialogFragment {

private TextView loggedInUser;
private TextView launchUI;
private TextView logout;
private String TAG = "MoreAction";

Expand Down Expand Up @@ -72,6 +75,14 @@ public void onError(CometChatException e) {
});
}
});

launchUI = view.findViewById(R.id.launch_ui_kit);
launchUI.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(getContext(), CometChatUI.class));
}
});
return view;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,13 @@
import androidx.appcompat.app.AppCompatActivity;

import android.Manifest;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.ContentResolver;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.ColorStateList;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
Expand All @@ -29,6 +32,7 @@
import com.cometchat.pro.models.MediaMessage;
import com.cometchat.pro.models.TextMessage;
import com.cometchat.pro.models.User;
import com.cometchat.pro.uikit.ui_components.calls.callconnection.CallManager;
import com.cometchat.pro.uikit.ui_resources.constants.UIKitConstants;
import com.cometchat.pro.uikit.ui_resources.utils.CallUtils;
import com.cometchat.pro.uikit.ui_resources.utils.MediaUtils;
Expand Down Expand Up @@ -56,10 +60,43 @@ public class PushNotificationActivity extends AppCompatActivity {
private String receiver = CometChatConstants.RECEIVER_TYPE_USER;
private TextInputLayout uidLayout;
private ProgressDialog progressDialog;

private String[] permissions = new String[]{Manifest.permission.RECORD_AUDIO,
Manifest.permission.CAMERA,Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.ANSWER_PHONE_CALLS,Manifest.permission.CALL_PHONE,
Manifest.permission.MANAGE_OWN_CALLS,Manifest.permission.READ_PHONE_STATE};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_push_notification);
if (!Utils.hasPermissions(this,permissions)) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
requestPermissions(permissions,
UIKitConstants.RequestCode.RECORD);
}
}

CallManager callManager = new CallManager(this);
if (!callManager.checkAccountConnection(this)) {
AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
alertDialog.setTitle("VoIP Permission");
alertDialog.setMessage("To make VoIP Calling work properly, you need to allow certain " +
"permission from your call account settings for this app.");
alertDialog.setPositiveButton("Open Settings", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
callManager.launchVoIPSetting(PushNotificationActivity.this);
}
});
alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
alertDialog.create().show();
}

progressDialog = new ProgressDialog(this);
progressDialog.setTitle(getResources().getString(R.string.please_wait));
progressDialog.setMessage(getResources().getString(R.string.media_uploading));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,38 @@
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.media.AudioAttributes;
import android.net.Uri;
import android.os.Build;
import android.util.Log;
import android.widget.Toast;

import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleObserver;
import androidx.lifecycle.OnLifecycleEvent;
import androidx.lifecycle.ProcessLifecycleOwner;

import com.cometchat.pro.core.AppSettings;
import com.cometchat.pro.core.Call;
import com.cometchat.pro.core.CometChat;
import com.cometchat.pro.exceptions.CometChatException;
import com.cometchat.pro.android.pushnotification.constants.AppConfig;
import com.cometchat.pro.uikit.ui_components.calls.call_manager.CometChatStartCallActivity;
import com.cometchat.pro.uikit.ui_components.calls.call_manager.listener.CometChatCallListener;
import com.cometchat.pro.uikit.ui_components.calls.callconnection.CallNotificationAction;
import com.cometchat.pro.uikit.ui_resources.constants.UIKitConstants;

public class UIKitApplication extends Application {
public class UIKitApplication extends Application implements LifecycleObserver {

private static final String TAG = "UIKitApplication";

public static boolean isBackground;

@Override
public void onCreate() {
super.onCreate();
Expand All @@ -37,10 +53,20 @@ public void onError(CometChatException e) {
Toast.makeText(UIKitApplication.this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
});

CometChatCallListener.addCallListener(TAG,this);
createNotificationChannel();
ProcessLifecycleOwner.get().getLifecycle().addObserver(this);
}

@OnLifecycleEvent(Lifecycle.Event.ON_START)
public void onMoveToForeground() {
isBackground=false;
}
@OnLifecycleEvent(Lifecycle.Event.ON_STOP)
public void onMoveToBackground() {
isBackground = true;
}

private void createNotificationChannel() {
// Create the NotificationChannel, but only on API 26+ because
Expand All @@ -58,6 +84,5 @@ private void createNotificationChannel() {
NotificationManager notificationManager = getSystemService(NotificationManager.class);
notificationManager.createNotificationChannel(channel);
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ public class AppConfig {

public class AppDetails {

public static final String APP_ID = "XXXXXXXXXXXXXXXXX";
public static final String APP_ID = "XXXXXXXXXXXXXX";

public static final String AUTH_KEY = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
public static final String AUTH_KEY = "XXXXXXXXXXXXXXXXXXXXXXXX";

public static final String REGION = "XX";
}
Expand Down
Loading

0 comments on commit 34326b6

Please sign in to comment.