Skip to content

Commit

Permalink
Updated views to display update complete notification
Browse files Browse the repository at this point in the history
  • Loading branch information
aanorbel committed Jan 24, 2024
1 parent e09a1fd commit a6256bf
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 8 deletions.
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package org.openobservatory.ooniprobe.activity;

import static org.openobservatory.ooniprobe.common.service.RunTestService.CHANNEL_ID;
import static org.openobservatory.ooniprobe.common.worker.UpdateDescriptorsWorkerKt.PROGRESS;

import android.Manifest;
import android.app.Activity;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
Expand All @@ -18,13 +18,10 @@

import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.IdRes;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatDelegate;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.work.Constraints;
import androidx.work.Data;
import androidx.work.ExistingPeriodicWorkPolicy;
import androidx.work.ExistingWorkPolicy;
import androidx.work.NetworkType;
Expand Down Expand Up @@ -61,7 +58,7 @@
import kotlin.Unit;
import localhost.toolkit.app.fragment.ConfirmDialogFragment;

public class MainActivity extends AbstractActivity implements ConfirmDialogFragment.OnConfirmedListener {
public class MainActivity extends ReviewUpdatesAbstractActivity implements ConfirmDialogFragment.OnConfirmedListener {
private static final String RES_ITEM = "resItem";
private static final String RES_SNACKBAR_MESSAGE = "resSnackbarMessage";
public static final String NOTIFICATION_DIALOG = "notification";
Expand Down Expand Up @@ -180,6 +177,7 @@ private void scheduleWorkers() {
);
// TODO(aanorbel): add rules before checking updates
fetchManualUpdate();
registerReviewLauncher(binding.bottomNavigation);
}

public void fetchManualUpdate() {
Expand Down Expand Up @@ -226,7 +224,7 @@ private void onManualUpdatesFetchComplete(WorkInfo workInfo) {
@Override
public void onActionButtonCLicked() {

startActivity(
getReviewUpdatesLauncher().launch(
ReviewDescriptorUpdatesActivity.newIntent(
MainActivity.this,
workInfo.getOutputData().getString(ManualUpdateDescriptorsWorker.KEY_UPDATED_DESCRIPTORS)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@

import io.noties.markwon.Markwon;

public class OverviewActivity extends AbstractActivity {
public class OverviewActivity extends ReviewUpdatesAbstractActivity {
private static final String TEST = "test";

ActivityOverviewBinding binding;
Expand Down Expand Up @@ -162,6 +162,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
}

setUpOnCLickListeners();
registerReviewLauncher(binding.progressFragment);
}

private void selectAllBtnStatusObserver(String selectAllBtnStatus) {
Expand Down Expand Up @@ -248,7 +249,7 @@ private void onManualUpdatesFetchComplete(WorkInfo workInfo) {
@Override
public void onActionButtonCLicked() {

startActivity(
getReviewUpdatesLauncher().launch(
ReviewDescriptorUpdatesActivity.newIntent(
OverviewActivity.this,
workInfo.getOutputData().getString(ManualUpdateDescriptorsWorker.KEY_UPDATED_DESCRIPTORS)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package org.openobservatory.ooniprobe.activity

import android.content.Intent
import android.view.View
import androidx.activity.result.ActivityResult
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts
import com.google.android.material.snackbar.Snackbar
import org.openobservatory.ooniprobe.activity.reviewdescriptorupdates.ReviewDescriptorUpdatesActivity

open class ReviewUpdatesAbstractActivity : AbstractActivity() {
var reviewUpdatesLauncher: ActivityResultLauncher<Intent>? = null

fun registerReviewLauncher(view: View) {
reviewUpdatesLauncher =
registerForActivityResult(ActivityResultContracts.StartActivityForResult())
{ result: ActivityResult ->
if (result.resultCode == RESULT_OK) {
result.data?.let { intent: Intent ->
intent.getStringExtra(ReviewDescriptorUpdatesActivity.RESULT_MESSAGE)
?.let { message: String ->
Snackbar.make(view, message, Snackbar.LENGTH_LONG)
.setAnchorView(view).show()
}
}
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import androidx.fragment.app.FragmentActivity
import androidx.viewpager2.adapter.FragmentStateAdapter
import androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback
import com.google.android.material.checkbox.MaterialCheckBox
import com.google.android.material.snackbar.Snackbar
import com.google.gson.Gson
import com.google.gson.internal.LinkedTreeMap
import org.openobservatory.engine.BaseNettest
Expand All @@ -45,6 +46,9 @@ class ReviewDescriptorUpdatesActivity : AbstractActivity() {
companion object {
private const val DESCRIPTORS = "descriptors"

@JvmField
var RESULT_MESSAGE = "result"

/**
* This method is used to create an intent to start this activity.
* @param context is the context of the activity that calls this method
Expand Down Expand Up @@ -113,6 +117,7 @@ class ReviewDescriptorUpdatesActivity : AbstractActivity() {
if ((currPos + 1) != binding.viewpager.adapter?.itemCount) {
binding.viewpager.currentItem = currPos + 1
} else {
setResult(RESULT_OK, Intent().putExtra(RESULT_MESSAGE, "Link(s) updated"))
finish()
}
true
Expand Down

0 comments on commit a6256bf

Please sign in to comment.