Skip to content

Commit

Permalink
Update SDK to 3.0.122
Browse files Browse the repository at this point in the history
  • Loading branch information
leo-shin committed Mar 12, 2020
1 parent 8ea0425 commit 97ee456
Show file tree
Hide file tree
Showing 12 changed files with 97 additions and 160 deletions.
6 changes: 3 additions & 3 deletions basic/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@ android {
}

repositories {
maven { url "https://raw.githubusercontent.com/sendbird/SendBird-SDK-Android/master/" }
maven { url "https://raw.githubusercontent.com/smilefam/SendBird-SDK-Android/master/" }
google()
}

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')

// Required for local unit tests (JUnit 4 framework)
testImplementation 'junit:junit:4.12'
Expand All @@ -41,7 +41,7 @@ dependencies {
})

// SendBird
implementation 'com.sendbird.sdk:sendbird-android-sdk:3.0.121'
implementation 'com.sendbird.sdk:sendbird-android-sdk:3.0.122'

// Android support libraries
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
Expand Down
7 changes: 0 additions & 7 deletions basic/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -80,13 +80,6 @@
android:launchMode="singleTop"
android:windowSoftInputMode="stateHidden" />

<service android:name=".fcm.MyFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>

<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@drawable/img_notification" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,20 +27,15 @@
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Build;
import androidx.annotation.NonNull;
import androidx.core.app.NotificationCompat;
import android.text.TextUtils;
import android.util.Log;
import android.widget.Toast;

import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.iid.FirebaseInstanceId;
import com.google.firebase.iid.InstanceIdResult;
import com.google.firebase.messaging.FirebaseMessagingService;
import androidx.core.app.NotificationCompat;

import com.google.firebase.messaging.RemoteMessage;
import com.sendbird.android.SendBird;
import com.sendbird.android.SendBirdException;
import com.sendbird.android.SendBirdPushHandler;
import com.sendbird.android.SendBirdPushHelper;
import com.sendbird.android.sample.R;
import com.sendbird.android.sample.main.SplashActivity;
import com.sendbird.android.sample.utils.PreferenceUtils;
Expand All @@ -50,37 +45,24 @@

import java.util.concurrent.atomic.AtomicReference;

public class MyFirebaseMessagingService extends FirebaseMessagingService {
public class MyFirebaseMessagingService extends SendBirdPushHandler {

private static final String TAG = "MyFirebaseMsgService";
private static final AtomicReference<String> pushToken = new AtomicReference<>();

public interface ITokenResult {
void onPushTokenReceived(String pushToken);
void onPushTokenReceived(String pushToken, SendBirdException e);
}

@Override
public void onNewToken(String token) {
Log.i(TAG, "onNewToken(" + token + ")");

sendRegistrationToServer(token);
protected boolean isUniquePushToken() {
return false;
}

private void sendRegistrationToServer(final String token) {
SendBird.registerPushTokenForCurrentUser(token, new SendBird.RegisterPushTokenWithStatusHandler() {
@Override
public void onRegistered(SendBird.PushTokenRegistrationStatus pushTokenRegistrationStatus, SendBirdException e) {
if (e != null) {
Toast.makeText(MyFirebaseMessagingService.this, "" + e.getCode() + ":" + e.getMessage(), Toast.LENGTH_SHORT).show();
return;
}

if (pushTokenRegistrationStatus == SendBird.PushTokenRegistrationStatus.PENDING) {
Toast.makeText(MyFirebaseMessagingService.this, "Connection required to register push token.", Toast.LENGTH_SHORT).show();
}
pushToken.set(token);
}
});
@Override
public void onNewToken(String token) {
Log.i(TAG, "onNewToken(" + token + ")");
pushToken.set(token);
}

/**
Expand All @@ -90,7 +72,7 @@ public void onRegistered(SendBird.PushTokenRegistrationStatus pushTokenRegistrat
*/
// [START receive_message]
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
public void onMessageReceived(Context context, RemoteMessage remoteMessage) {
// [START_EXCLUDE]
// There are two types of messages data messages and notification messages. Data messages are handled
// here in onMessageReceived whether the app is in the foreground or background. Data messages are the type
Expand All @@ -117,15 +99,18 @@ public void onMessageReceived(RemoteMessage remoteMessage) {

String channelUrl = null;
try {
JSONObject sendBird = new JSONObject(remoteMessage.getData().get("sendbird"));
JSONObject channel = (JSONObject) sendBird.get("channel");
channelUrl = (String) channel.get("channel_url");
if (remoteMessage.getData().containsKey("sendbird")) {
JSONObject sendBird = new JSONObject(remoteMessage.getData().get("sendbird"));
JSONObject channel = (JSONObject) sendBird.get("channel");
channelUrl = (String) channel.get("channel_url");

// Also if you intend on generating your own notifications as a result of a received FCM
// message, here is where that should be initiated. See sendNotification method below.
sendNotification(context, remoteMessage.getData().get("message"), channelUrl);
}
} catch (JSONException e) {
e.printStackTrace();
}
// Also if you intend on generating your own notifications as a result of a received FCM
// message, here is where that should be initiated. See sendNotification method below.
sendNotification(this, remoteMessage.getData().get("message"), channelUrl);
}
// [END receive_message]

Expand Down Expand Up @@ -169,29 +154,21 @@ public static void sendNotification(Context context, String messageBody, String
notificationManager.notify(0 /* ID of notification */, notificationBuilder.build());
}

public static void getPushToken(ITokenResult listner) {
public static void getPushToken(ITokenResult listener) {
String token = pushToken.get();
if (!TextUtils.isEmpty(token)) {
listner.onPushTokenReceived(token);
listener.onPushTokenReceived(token, null);
return;
}

FirebaseInstanceId.getInstance().getInstanceId().addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
@Override
public void onComplete(@NonNull Task<InstanceIdResult> task) {
if (!task.isSuccessful()) {
Log.w(TAG, "getInstanceId failed", task.getException());
return;
}

// Get new Instance ID token
InstanceIdResult result = task.getResult();
if (result != null) {
String token = result.getToken();
Log.d(TAG, "FCM token : " + token);
pushToken.set(token);
listner.onPushTokenReceived(token);
}
SendBirdPushHelper.getPushToken((token1, e) -> {
Log.d(TAG, "FCM token : " + token1);
if (listener != null) {
listener.onPushTokenReceived(token1, e);
}

if (e == null) {
pushToken.set(token1);
}
});
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
import android.app.Application;

import com.sendbird.android.SendBird;
import com.sendbird.android.sample.fcm.MyFirebaseMessagingService;
import com.sendbird.android.sample.utils.PreferenceUtils;
import com.sendbird.android.sample.utils.PushUtils;

public class BaseApplication extends Application {

Expand All @@ -17,5 +19,7 @@ public void onCreate() {
PreferenceUtils.init(getApplicationContext());

SendBird.init(APP_ID, getApplicationContext());

PushUtils.registerPushHandler(new MyFirebaseMessagingService());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,20 @@

import android.content.Intent;
import android.os.Bundle;
import androidx.coordinatorlayout.widget.CoordinatorLayout;
import com.google.android.material.snackbar.Snackbar;
import com.google.android.material.textfield.TextInputEditText;
import androidx.appcompat.app.AppCompatActivity;
import android.text.TextUtils;
import android.widget.TextView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;
import androidx.coordinatorlayout.widget.CoordinatorLayout;

import com.google.android.material.snackbar.Snackbar;
import com.google.android.material.textfield.TextInputEditText;
import com.sendbird.android.SendBird;
import com.sendbird.android.SendBirdException;
import com.sendbird.android.User;
import com.sendbird.android.sample.R;
import com.sendbird.android.sample.fcm.MyFirebaseMessagingService;
import com.sendbird.android.sample.utils.PreferenceUtils;
import com.sendbird.android.sample.utils.PushUtils;
import com.sendbird.android.sample.widget.WaitingDialog;
Expand Down Expand Up @@ -92,7 +94,7 @@ public void onConnected(User user, SendBirdException e) {

// Update the user's nickname
updateCurrentUserInfo(userNickname);
updateCurrentUserPushToken();
PushUtils.registerPushHandler(new MyFirebaseMessagingService());

// Proceed to MainActivity
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
Expand All @@ -102,13 +104,6 @@ public void onConnected(User user, SendBirdException e) {
});
}

/**
* Update the user's push token.
*/
private void updateCurrentUserPushToken() {
PushUtils.registerPushTokenForCurrentUser();
}

/**
* Updates the user's nickname.
* @param userNickname The new nickname of the user.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,22 @@

import android.content.Intent;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import com.sendbird.android.SendBird;
import com.sendbird.android.SendBirdException;
import com.sendbird.android.SendBirdPushHelper;
import com.sendbird.android.sample.R;
import com.sendbird.android.sample.groupchannel.GroupChannelActivity;
import com.sendbird.android.sample.openchannel.OpenChannelActivity;
import com.sendbird.android.sample.utils.PreferenceUtils;
import com.sendbird.android.sample.utils.PushUtils;

public class MainActivity extends AppCompatActivity {

Expand Down Expand Up @@ -81,18 +84,9 @@ private void checkExtra() {
* then disconnects from SendBird.
*/
private void disconnect() {
SendBird.unregisterPushTokenAllForCurrentUser(new SendBird.UnregisterPushTokenHandler() {
PushUtils.unregisterPushHandler(new SendBirdPushHelper.OnPushRequestCompleteListener() {
@Override
public void onUnregistered(SendBirdException e) {
if (e != null) {
// Error!
e.printStackTrace();

// Don't return because we still need to disconnect.
} else {
// Toast.makeText(MainActivity.this, "All push tokens unregistered.", Toast.LENGTH_SHORT).show();
}

public void onComplete(boolean isActive, String token) {
ConnectionManager.logout(new SendBird.DisconnectHandler() {
@Override
public void onDisconnected() {
Expand All @@ -103,6 +97,10 @@ public void onDisconnected() {
}
});
}

@Override
public void onError(SendBirdException e) {
}
});
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,6 @@
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.coordinatorlayout.widget.CoordinatorLayout;
import com.google.android.material.snackbar.Snackbar;
import androidx.core.content.FileProvider;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.SwitchCompat;
import androidx.appcompat.widget.Toolbar;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.MenuItem;
Expand All @@ -37,6 +28,16 @@
import android.widget.TimePicker;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.SwitchCompat;
import androidx.appcompat.widget.Toolbar;
import androidx.coordinatorlayout.widget.CoordinatorLayout;
import androidx.core.content.FileProvider;

import com.google.android.material.snackbar.Snackbar;
import com.sendbird.android.SendBird;
import com.sendbird.android.SendBirdException;
import com.sendbird.android.sample.R;
Expand Down Expand Up @@ -230,35 +231,14 @@ public void run() {
mSwitchNotifications.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, final boolean isChecked) {
if (isChecked) {
PushUtils.registerPushTokenForCurrentUser(new SendBird.RegisterPushTokenWithStatusHandler() {
@Override
public void onRegistered(SendBird.PushTokenRegistrationStatus pushTokenRegistrationStatus, SendBirdException e) {
if (e != null) {
mSwitchNotifications.setChecked(!isChecked);
checkNotifications(!isChecked);
return;
}

PreferenceUtils.setNotifications(isChecked);
checkNotifications(isChecked);
}
});
} else {
PushUtils.unregisterPushTokenForCurrentUser(new SendBird.UnregisterPushTokenHandler() {
@Override
public void onUnregistered(SendBirdException e) {
if (e != null) {
mSwitchNotifications.setChecked(!isChecked);
checkNotifications(!isChecked);
return;
}

PreferenceUtils.setNotifications(isChecked);
checkNotifications(isChecked);
}
});
}
PushUtils.setPushNotification(isChecked, new SendBird.SetPushTriggerOptionHandler() {
@Override
public void onResult(SendBirdException e) {
mSwitchNotifications.setChecked((e == null) == isChecked);
PreferenceUtils.setNotifications(e == null);
checkNotifications(isChecked);
}
});
}
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@
import com.sendbird.android.SendBirdException;
import com.sendbird.android.User;
import com.sendbird.android.sample.R;
import com.sendbird.android.sample.fcm.MyFirebaseMessagingService;
import com.sendbird.android.sample.utils.PreferenceUtils;
import com.sendbird.android.sample.utils.PushUtils;

public class SplashActivity extends AppCompatActivity {

Expand Down
Loading

0 comments on commit 97ee456

Please sign in to comment.