diff options
author | Docile-Alligator <25734209+Docile-Alligator@users.noreply.github.com> | 2024-07-19 15:22:49 +0000 |
---|---|---|
committer | Docile-Alligator <25734209+Docile-Alligator@users.noreply.github.com> | 2024-07-19 15:22:49 +0000 |
commit | fbdcf4a55fe34f0dae0bd256c6cb2b8f5b55cdc9 (patch) | |
tree | cbcb3bc10e3ad68e78ff52cf86ded8f328095e82 /app/src/main/java | |
parent | 7443cf80953e65c95fae0f3edbadbfcb100f4748 (diff) | |
download | infinity-for-reddit-fbdcf4a55fe34f0dae0bd256c6cb2b8f5b55cdc9.tar infinity-for-reddit-fbdcf4a55fe34f0dae0bd256c6cb2b8f5b55cdc9.tar.gz infinity-for-reddit-fbdcf4a55fe34f0dae0bd256c6cb2b8f5b55cdc9.tar.bz2 infinity-for-reddit-fbdcf4a55fe34f0dae0bd256c6cb2b8f5b55cdc9.tar.lz infinity-for-reddit-fbdcf4a55fe34f0dae0bd256c6cb2b8f5b55cdc9.tar.xz infinity-for-reddit-fbdcf4a55fe34f0dae0bd256c6cb2b8f5b55cdc9.tar.zst infinity-for-reddit-fbdcf4a55fe34f0dae0bd256c6cb2b8f5b55cdc9.zip |
Start migrating EditProfileService to JobService.
Diffstat (limited to 'app/src/main/java')
9 files changed, 148 insertions, 102 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditProfileActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditProfileActivity.java index bac079a8..1c10c2ed 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditProfileActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/EditProfileActivity.java @@ -1,9 +1,13 @@ package ml.docilealligator.infinityforreddit.activities; +import android.app.job.JobInfo; +import android.app.job.JobScheduler; +import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.os.Build; import android.os.Bundle; +import android.os.PersistableBundle; import android.view.Gravity; import android.view.Menu; import android.view.MenuItem; @@ -15,7 +19,6 @@ import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; import androidx.lifecycle.ViewModelProvider; import com.bumptech.glide.Glide; @@ -208,7 +211,7 @@ public class EditProfileActivity extends BaseActivity { if (resultCode != RESULT_OK || data == null || accountName.equals(Account.ANONYMOUS_ACCOUNT)) { return; } - Intent intent = new Intent(this, EditProfileService.class); + /*Intent intent = new Intent(this, EditProfileService.class); intent.setData(data.getData()); intent.putExtra(EditProfileService.EXTRA_ACCOUNT_NAME, accountName); intent.putExtra(EditProfileService.EXTRA_ACCESS_TOKEN, accessToken); @@ -224,6 +227,32 @@ public class EditProfileActivity extends BaseActivity { break; default: break; + }*/ + + int contentEstimatedBytes = 0; + PersistableBundle extras = new PersistableBundle(); + extras.putString(EditProfileService.EXTRA_MEDIA_URI, data.getData().toString()); + extras.putString(EditProfileService.EXTRA_ACCOUNT_NAME, accountName); + extras.putString(EditProfileService.EXTRA_ACCESS_TOKEN, accessToken); + switch (requestCode) { + case PICK_IMAGE_BANNER_REQUEST_CODE: { + extras.putInt(EditProfileService.EXTRA_POST_TYPE, EditProfileService.EXTRA_POST_TYPE_CHANGE_BANNER); + + //TODO: contentEstimatedBytes + JobInfo jobInfo = EditProfileService.constructJobInfo(this, 100, extras); + ((JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE)).schedule(jobInfo); + break; + } + case PICK_IMAGE_AVATAR_REQUEST_CODE: { + extras.putInt(EditProfileService.EXTRA_POST_TYPE, EditProfileService.EXTRA_POST_TYPE_CHANGE_AVATAR); + + //TODO: contentEstimatedBytes + JobInfo jobInfo = EditProfileService.constructJobInfo(this, 100, extras); + ((JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE)).schedule(jobInfo); + break; + } + default: + break; } } @@ -251,14 +280,24 @@ public class EditProfileActivity extends BaseActivity { } if (aboutYou == null || displayName == null) return false; // - Intent intent = new Intent(this, EditProfileService.class); + /*Intent intent = new Intent(this, EditProfileService.class); intent.putExtra(EditProfileService.EXTRA_ACCOUNT_NAME, accountName); intent.putExtra(EditProfileService.EXTRA_ACCESS_TOKEN, accessToken); intent.putExtra(EditProfileService.EXTRA_DISPLAY_NAME, displayName); // intent.putExtra(EditProfileService.EXTRA_ABOUT_YOU, aboutYou); // intent.putExtra(EditProfileService.EXTRA_POST_TYPE, EditProfileService.EXTRA_POST_TYPE_SAVE_EDIT_PROFILE); - ContextCompat.startForegroundService(this, intent); + ContextCompat.startForegroundService(this, intent);*/ + + PersistableBundle extras = new PersistableBundle(); + extras.putString(EditProfileService.EXTRA_ACCOUNT_NAME, accountName); + extras.putString(EditProfileService.EXTRA_ACCESS_TOKEN, accessToken); + extras.putString(EditProfileService.EXTRA_DISPLAY_NAME, displayName); + extras.putString(EditProfileService.EXTRA_ABOUT_YOU, aboutYou); + extras.putInt(EditProfileService.EXTRA_POST_TYPE, EditProfileService.EXTRA_POST_TYPE_SAVE_EDIT_PROFILE); + + JobInfo jobInfo = EditProfileService.constructJobInfo(this, 1000, extras); + ((JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE)).schedule(jobInfo); return true; } return false; diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostGalleryActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostGalleryActivity.java index fc33566e..efa02503 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostGalleryActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostGalleryActivity.java @@ -623,7 +623,6 @@ public class PostGalleryActivity extends BaseActivity implements FlairBottomShee String payloadJSON = new Gson().toJson(payload); extras.putString(SubmitPostService.EXTRA_REDDIT_GALLERY_PAYLOAD, payloadJSON); - // TODO: jobId and uploadBytes JobInfo jobInfo = SubmitPostService.constructJobInfo(this, payloadJSON.length() * 2L, extras); ((JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE)).schedule(jobInfo); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostImageActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostImageActivity.java index 353a599a..5d7e0d53 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostImageActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostImageActivity.java @@ -581,7 +581,7 @@ public class PostImageActivity extends BaseActivity implements FlairBottomSheetF extras.putInt(SubmitPostService.EXTRA_POST_TYPE, SubmitPostService.EXTRA_POST_TYPE_IMAGE); } - // TODO: jobId and uploadBytes + // TODO: contentEstimatedBytes JobInfo jobInfo = SubmitPostService.constructJobInfo(this, contentEstimatedBytes, extras); ((JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE)).schedule(jobInfo); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostLinkActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostLinkActivity.java index a4201dc1..174cf79d 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostLinkActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostLinkActivity.java @@ -569,7 +569,6 @@ public class PostLinkActivity extends BaseActivity implements FlairBottomSheetFr extras.putInt(SubmitPostService.EXTRA_RECEIVE_POST_REPLY_NOTIFICATIONS, binding.receivePostReplyNotificationsSwitchMaterialPostLinkActivity.isChecked() ? 1 : 0); extras.putInt(SubmitPostService.EXTRA_POST_TYPE, SubmitPostService.EXTRA_POST_TEXT_OR_LINK); - // TODO: jobId and uploadBytes JobInfo jobInfo = SubmitPostService.constructJobInfo(this, contentEstimatedBytes, extras); ((JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE)).schedule(jobInfo); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostPollActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostPollActivity.java index 34437cdc..08d2e130 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostPollActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostPollActivity.java @@ -689,7 +689,6 @@ public class PostPollActivity extends BaseActivity implements FlairBottomSheetFr String payloadJSON = new Gson().toJson(payload); extras.putString(SubmitPostService.EXTRA_POLL_PAYLOAD, payloadJSON); - // TODO: jobId and uploadBytes JobInfo jobInfo = SubmitPostService.constructJobInfo(this, payloadJSON.length() * 2L, extras); ((JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE)).schedule(jobInfo); } diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostTextActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostTextActivity.java index 9fab8566..cb9960c1 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostTextActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostTextActivity.java @@ -564,7 +564,6 @@ public class PostTextActivity extends BaseActivity implements FlairBottomSheetFr extras.putInt(SubmitPostService.EXTRA_RECEIVE_POST_REPLY_NOTIFICATIONS, binding.receivePostReplyNotificationsSwitchMaterialPostTextActivity.isChecked() ? 1 : 0); extras.putInt(SubmitPostService.EXTRA_POST_TYPE, SubmitPostService.EXTRA_POST_TEXT_OR_LINK); - // TODO: jobId and uploadBytes JobInfo jobInfo = SubmitPostService.constructJobInfo(this, contentEstimatedBytes, extras); ((JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE)).schedule(jobInfo); } diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostVideoActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostVideoActivity.java index 20287832..4f097bec 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostVideoActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostVideoActivity.java @@ -592,7 +592,7 @@ public class PostVideoActivity extends BaseActivity implements FlairBottomSheetF extras.putInt(SubmitPostService.EXTRA_RECEIVE_POST_REPLY_NOTIFICATIONS, binding.receivePostReplyNotificationsSwitchMaterialPostVideoActivity.isChecked() ? 1 : 0); extras.putInt(SubmitPostService.EXTRA_POST_TYPE, SubmitPostService.EXTRA_POST_TYPE_VIDEO); - // TODO: jobId and uploadBytes + // TODO: contentEstimatedBytes JobInfo jobInfo = SubmitPostService.constructJobInfo(this, contentEstimatedBytes, extras); ((JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE)).schedule(jobInfo); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/services/EditProfileService.java b/app/src/main/java/ml/docilealligator/infinityforreddit/services/EditProfileService.java index c344079c..9049c950 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/services/EditProfileService.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/services/EditProfileService.java @@ -1,18 +1,18 @@ package ml.docilealligator.infinityforreddit.services; import android.app.Notification; -import android.app.Service; -import android.content.Intent; +import android.app.job.JobInfo; +import android.app.job.JobParameters; +import android.app.job.JobService; +import android.content.ComponentName; +import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; +import android.net.NetworkRequest; import android.net.Uri; -import android.os.Bundle; +import android.os.Build; import android.os.Handler; -import android.os.HandlerThread; -import android.os.IBinder; -import android.os.Looper; -import android.os.Message; -import android.os.Process; +import android.os.PersistableBundle; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -27,6 +27,7 @@ import org.greenrobot.eventbus.EventBus; import java.io.FileNotFoundException; import java.util.Random; import java.util.concurrent.ExecutionException; +import java.util.concurrent.Executor; import javax.inject.Inject; import javax.inject.Named; @@ -42,46 +43,57 @@ import ml.docilealligator.infinityforreddit.utils.EditProfileUtils; import ml.docilealligator.infinityforreddit.utils.NotificationUtils; import retrofit2.Retrofit; -public class EditProfileService extends Service { +public class EditProfileService extends JobService { public static final String EXTRA_ACCESS_TOKEN = "EAT"; public static final String EXTRA_ACCOUNT_NAME = "EAN"; public static final String EXTRA_DISPLAY_NAME = "EDN"; public static final String EXTRA_ABOUT_YOU = "EAY"; public static final String EXTRA_POST_TYPE = "EPT"; + public static final String EXTRA_MEDIA_URI = "EU"; public static final int EXTRA_POST_TYPE_UNKNOWN = 0x500; public static final int EXTRA_POST_TYPE_CHANGE_BANNER = 0x501; public static final int EXTRA_POST_TYPE_CHANGE_AVATAR = 0x502; public static final int EXTRA_POST_TYPE_SAVE_EDIT_PROFILE = 0x503; - private static final String EXTRA_MEDIA_URI = "EU"; - private static final int MAX_BANNER_WIDTH = 1280; private static final int MIN_BANNER_WIDTH = 640; private static final int AVATAR_SIZE = 256; + + private static int JOB_ID = 10000; + @Inject @Named("oauth") Retrofit mOauthRetrofit; @Inject CustomThemeWrapper mCustomThemeWrapper; + @Inject + Executor mExecutor; private Handler handler; - private ServiceHandler serviceHandler; + + public static JobInfo constructJobInfo(Context context, long contentEstimatedBytes, PersistableBundle extras) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + return new JobInfo.Builder(JOB_ID++, new ComponentName(context, EditProfileService.class)) + .setUserInitiated(true) + .setRequiredNetwork(new NetworkRequest.Builder().build()) + .setEstimatedNetworkBytes(0, contentEstimatedBytes + 500) + .setExtras(extras) + .build(); + } else { + return new JobInfo.Builder(JOB_ID++, new ComponentName(context, EditProfileService.class)) + .build(); + } + } @Override public void onCreate() { super.onCreate(); ((Infinity) getApplication()).getAppComponent().inject(this); handler = new Handler(); - HandlerThread thread = new HandlerThread("ServiceStartArguments", - Process.THREAD_PRIORITY_BACKGROUND); - thread.start(); - serviceHandler = new ServiceHandler(thread.getLooper()); } @Override - public int onStartCommand(Intent intent, int flags, int startId) { - ((Infinity) getApplication()).getAppComponent().inject(this); - + public boolean onStartJob(JobParameters params) { NotificationChannelCompat serviceChannel = new NotificationChannelCompat.Builder( NotificationUtils.CHANNEL_SUBMIT_POST, @@ -93,41 +105,83 @@ public class EditProfileService extends Service { manager.createNotificationChannel(serviceChannel); int randomNotificationIdOffset = new Random().nextInt(10000); - Bundle bundle = intent.getExtras(); - final int postType = intent.getIntExtra(EXTRA_POST_TYPE, EXTRA_POST_TYPE_UNKNOWN); + + PersistableBundle bundle = params.getExtras(); + String accessToken = bundle.getString(EXTRA_ACCESS_TOKEN); + String accountName = bundle.getString(EXTRA_ACCOUNT_NAME); + final int postType = bundle.getInt(EXTRA_POST_TYPE, EXTRA_POST_TYPE_UNKNOWN); switch (postType) { case EXTRA_POST_TYPE_CHANGE_BANNER: - bundle.putString(EXTRA_MEDIA_URI, intent.getData().toString()); - startForeground(NotificationUtils.SUBMIT_POST_SERVICE_NOTIFICATION_ID + randomNotificationIdOffset, - createNotification(R.string.submit_change_banner)); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + setNotification(params, + NotificationUtils.EDIT_PROFILE_SERVICE_NOTIFICATION_ID + randomNotificationIdOffset, + createNotification(R.string.submit_change_banner), + JobService.JOB_END_NOTIFICATION_POLICY_REMOVE); + } else { + manager.notify(NotificationUtils.EDIT_PROFILE_SERVICE_NOTIFICATION_ID + randomNotificationIdOffset, + createNotification(R.string.submit_change_banner)); + } break; case EXTRA_POST_TYPE_CHANGE_AVATAR: - bundle.putString(EXTRA_MEDIA_URI, intent.getData().toString()); - startForeground(NotificationUtils.SUBMIT_POST_SERVICE_NOTIFICATION_ID + randomNotificationIdOffset, - createNotification(R.string.submit_change_avatar)); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + setNotification(params, + NotificationUtils.EDIT_PROFILE_SERVICE_NOTIFICATION_ID + randomNotificationIdOffset, + createNotification(R.string.submit_change_avatar), + JobService.JOB_END_NOTIFICATION_POLICY_REMOVE); + } else { + manager.notify(NotificationUtils.EDIT_PROFILE_SERVICE_NOTIFICATION_ID + randomNotificationIdOffset, + createNotification(R.string.submit_change_avatar)); + } break; case EXTRA_POST_TYPE_SAVE_EDIT_PROFILE: - startForeground(NotificationUtils.SUBMIT_POST_SERVICE_NOTIFICATION_ID + randomNotificationIdOffset, - createNotification(R.string.submit_save_profile)); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + setNotification(params, + NotificationUtils.EDIT_PROFILE_SERVICE_NOTIFICATION_ID + randomNotificationIdOffset, + createNotification(R.string.submit_save_profile), + JobService.JOB_END_NOTIFICATION_POLICY_REMOVE); + } else { + manager.notify(NotificationUtils.EDIT_PROFILE_SERVICE_NOTIFICATION_ID + randomNotificationIdOffset, + createNotification(R.string.submit_save_profile)); + } break; default: case EXTRA_POST_TYPE_UNKNOWN: - break; + return false; } - Message msg = serviceHandler.obtainMessage(); - msg.setData(bundle); - serviceHandler.sendMessage(msg); - return START_NOT_STICKY; + mExecutor.execute(() -> { + switch (postType) { + case EXTRA_POST_TYPE_CHANGE_BANNER: + submitChangeBanner(params, accessToken, + Uri.parse(bundle.getString(EXTRA_MEDIA_URI)), + accountName); + break; + case EXTRA_POST_TYPE_CHANGE_AVATAR: + submitChangeAvatar(params, accessToken, + Uri.parse(bundle.getString(EXTRA_MEDIA_URI)), + accountName); + break; + case EXTRA_POST_TYPE_SAVE_EDIT_PROFILE: + submitSaveEditProfile( + params, + accessToken, + accountName, + bundle.getString(EXTRA_DISPLAY_NAME), + bundle.getString(EXTRA_ABOUT_YOU) + ); + break; + } + }); + + return true; } - @Nullable @Override - public IBinder onBind(Intent intent) { - return null; + public boolean onStopJob(JobParameters params) { + return false; } - private void submitChangeBanner(String accessToken, Uri mediaUri, String accountName) { + private void submitChangeBanner(JobParameters parameters, String accessToken, Uri mediaUri, String accountName) { try { final int width = getWidthBanner(mediaUri); final int height = Math.round(width * 3 / 10f); // ratio 10:3 @@ -138,22 +192,22 @@ public class EditProfileService extends Service { @Override public void success() { handler.post(() -> EventBus.getDefault().post(new SubmitChangeBannerEvent(true, ""))); - stopService(); + jobFinished(parameters, false); } @Override public void failed(String message) { handler.post(() -> EventBus.getDefault().post(new SubmitChangeBannerEvent(false, message))); - stopService(); + jobFinished(parameters, false); } }); } catch (InterruptedException | ExecutionException | FileNotFoundException e) { e.printStackTrace(); - stopService(); + jobFinished(parameters, false); } } - private void submitChangeAvatar(String accessToken, Uri mediaUri, String accountName) { + private void submitChangeAvatar(JobParameters parameters, String accessToken, Uri mediaUri, String accountName) { try { final CropTransformation avatarCrop = new CropTransformation(AVATAR_SIZE, AVATAR_SIZE, CropTransformation.CropType.CENTER); final Bitmap resource = Glide.with(this).asBitmap().skipMemoryCache(true) @@ -162,22 +216,22 @@ public class EditProfileService extends Service { @Override public void success() { handler.post(() -> EventBus.getDefault().post(new SubmitChangeAvatarEvent(true, ""))); - stopService(); + jobFinished(parameters, false); } @Override public void failed(String message) { handler.post(() -> EventBus.getDefault().post(new SubmitChangeAvatarEvent(false, message))); - stopService(); + jobFinished(parameters, false); } }); } catch (InterruptedException | ExecutionException e) { e.printStackTrace(); - stopService(); + jobFinished(parameters, false); } } - private void submitSaveEditProfile(@Nullable String accessToken, + private void submitSaveEditProfile(JobParameters parameters, @Nullable String accessToken, @NonNull String accountName, String displayName, String publicDesc @@ -191,13 +245,13 @@ public class EditProfileService extends Service { @Override public void success() { handler.post(() -> EventBus.getDefault().post(new SubmitSaveProfileEvent(true, ""))); - stopService(); + jobFinished(parameters, false); } @Override public void failed(String message) { handler.post(() -> EventBus.getDefault().post(new SubmitSaveProfileEvent(false, message))); - stopService(); + jobFinished(parameters, false); } }); @@ -212,54 +266,10 @@ public class EditProfileService extends Service { .build(); } - private void stopService() { - stopForeground(true); - stopSelf(); - } - - private int getWidthBanner(Uri mediaUri) throws FileNotFoundException { BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeStream(getContentResolver().openInputStream(mediaUri), null, options); return Math.max(Math.min(options.outWidth, MAX_BANNER_WIDTH), MIN_BANNER_WIDTH); } - - private class ServiceHandler extends Handler { - public ServiceHandler(Looper looper) { - super(looper); - } - - @Override - public void handleMessage(@NonNull Message msg) { - super.handleMessage(msg); - Bundle bundle = msg.getData(); - String accessToken = bundle.getString(EXTRA_ACCESS_TOKEN); - String accountName = bundle.getString(EXTRA_ACCOUNT_NAME); - final int postType = bundle.getInt(EXTRA_POST_TYPE, EXTRA_POST_TYPE_UNKNOWN); - switch (postType) { - case EXTRA_POST_TYPE_CHANGE_BANNER: - submitChangeBanner(accessToken, - Uri.parse(bundle.getString(EXTRA_MEDIA_URI)), - accountName); - break; - case EXTRA_POST_TYPE_CHANGE_AVATAR: - submitChangeAvatar(accessToken, - Uri.parse(bundle.getString(EXTRA_MEDIA_URI)), - accountName); - break; - case EXTRA_POST_TYPE_SAVE_EDIT_PROFILE: - submitSaveEditProfile( - accessToken, - accountName, - bundle.getString(EXTRA_DISPLAY_NAME), - bundle.getString(EXTRA_ABOUT_YOU) - ); - break; - default: - case EXTRA_POST_TYPE_UNKNOWN: - break; - } - } - } } diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/utils/NotificationUtils.java b/app/src/main/java/ml/docilealligator/infinityforreddit/utils/NotificationUtils.java index 459a0170..f4875e3d 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/utils/NotificationUtils.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/utils/NotificationUtils.java @@ -28,6 +28,7 @@ public class NotificationUtils { public static final int DOWNLOAD_IMAGE_NOTIFICATION_ID = 40000; public static final int DOWNLOAD_GIF_NOTIFICATION_ID = 50000; public static final int MATERIAL_YOU_NOTIFICATION_ID = 60000; + public static final int EDIT_PROFILE_SERVICE_NOTIFICATION_ID = 70000; private static final int SUMMARY_BASE_ID_UNREAD_MESSAGE = 0; private static final int NOTIFICATION_BASE_ID_UNREAD_MESSAGE = 1; |