Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,7 @@
import android.view.ViewTreeObserver;
import android.widget.TextView;

import android.content.Context;
import android.util.Log;
import android.view.View;
import android.view.ViewTreeObserver;
import android.widget.TextView;

import androidx.cardview.widget.CardView;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.StaggeredGridLayoutManager;
Expand Down Expand Up @@ -47,6 +40,7 @@
import java.util.Date;
import java.util.Hashtable;
import java.util.List;
import java.util.Objects;
import java.util.Vector;

/**
Expand Down Expand Up @@ -79,10 +73,8 @@ public void setupUI() {
}

private void updateJobTileDetails() {
String appId = CommCareApplication.instance().getCurrentApp().getUniqueId();
ConnectAppRecord record = ConnectJobUtils.getAppRecord(activity, appId);
ConnectJobRecord job = ConnectManager.getActiveJob();
boolean show = record != null;
boolean show = job != null;

viewJobCard.setVisibility(show ? View.VISIBLE : View.GONE);
if (show) {
Expand Down Expand Up @@ -114,8 +106,8 @@ private void updateOpportunityMessage() {
String warningText = null;
String appId = CommCareApplication.instance().getCurrentApp().getUniqueId();
ConnectAppRecord record = ConnectJobUtils.getAppRecord(activity, appId);
if (record != null) {
ConnectJobRecord job = ConnectManager.getActiveJob();
ConnectJobRecord job = ConnectManager.getActiveJob();
if (job != null && record != null) {
if (job.isFinished()) {
warningText = activity.getString(R.string.connect_progress_warning_ended);
} else if (job.getProjectStartDate().after(new Date())) {
Expand Down
4 changes: 4 additions & 0 deletions app/src/org/commcare/activities/connect/ConnectActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@
import org.commcare.views.dialogs.CustomProgressDialog;
import org.javarosa.core.services.Logger;

import java.util.Objects;

import javax.annotation.Nullable;

public class ConnectActivity extends NavigationHostCommCareActivity<ResourceEngineListener> {
Expand Down Expand Up @@ -69,6 +71,8 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {

if (getIntent().getBooleanExtra("info", false)) {
ConnectJobRecord job = ConnectManager.getActiveJob();
Objects.requireNonNull(job);

int fragmentId = job.getStatus() == ConnectJobRecord.STATUS_DELIVERING ?
R.id.connect_job_delivery_progress_fragment :
R.id.connect_job_learning_progress_fragment;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@

import java.io.InputStream;

public class ConnectDeliveryDetailsFragment extends Fragment {
public class ConnectDeliveryDetailsFragment extends ConnectJobFragment {

private FragmentConnectDeliveryDetailsBinding binding;

Expand All @@ -41,7 +41,6 @@ public static ConnectDeliveryDetailsFragment newInstance() {
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
binding = FragmentConnectDeliveryDetailsBinding.inflate(inflater, container, false);

ConnectJobRecord job = ConnectManager.getActiveJob();
ConnectDeliveryDetailsFragmentArgs args = ConnectDeliveryDetailsFragmentArgs.fromBundle(getArguments());

getActivity().setTitle(getString(R.string.connect_job_info_title));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,21 +14,19 @@
import androidx.annotation.NonNull;
import androidx.cardview.widget.CardView;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import org.commcare.android.database.connect.models.ConnectJobDeliveryFlagRecord;
import org.commcare.android.database.connect.models.ConnectJobDeliveryRecord;
import org.commcare.android.database.connect.models.ConnectJobRecord;
import org.commcare.connect.ConnectManager;
import org.commcare.dalvik.R;
import org.commcare.dalvik.databinding.FragmentConnectDeliveryListBinding;

import java.util.ArrayList;
import java.util.List;

public class ConnectDeliveryListFragment extends Fragment {
public class ConnectDeliveryListFragment extends ConnectJobFragment {
private static final String ALL_IDENTIFIER = "all";
private static final String APPROVED_IDENTIFIER = "approved";
private static final String REJECTED_IDENTIFIER = "rejected";
Expand Down Expand Up @@ -106,14 +104,12 @@ private void setFilterHighlight(CardView card, TextView label, boolean selected)

private List<ConnectJobDeliveryRecord> getFilteredDeliveries() {
List<ConnectJobDeliveryRecord> filteredList = new ArrayList<>();
ConnectJobRecord job = ConnectManager.getActiveJob();
if (job != null) {
for (ConnectJobDeliveryRecord delivery : job.getDeliveries()) {
boolean matchesUnit = delivery.getUnitName().equalsIgnoreCase(unitName);
boolean matchesFilter = currentFilter.equals(ALL_IDENTIFIER) || delivery.getStatus().equalsIgnoreCase(currentFilter);
if (matchesUnit && matchesFilter) {
filteredList.add(delivery);
}

for (ConnectJobDeliveryRecord delivery : job.getDeliveries()) {
boolean matchesUnit = delivery.getUnitName().equalsIgnoreCase(unitName);
boolean matchesFilter = currentFilter.equals(ALL_IDENTIFIER) || delivery.getStatus().equalsIgnoreCase(currentFilter);
if (matchesUnit && matchesFilter) {
filteredList.add(delivery);
}
}
return filteredList;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import android.view.ViewGroup;

import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.navigation.Navigation;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
Expand All @@ -16,7 +15,6 @@
import org.commcare.android.database.connect.models.ConnectJobDeliveryRecord;
import org.commcare.android.database.connect.models.ConnectJobRecord;
import org.commcare.android.database.connect.models.ConnectPaymentUnitRecord;
import org.commcare.connect.ConnectManager;
import org.commcare.dalvik.R;
import org.commcare.dalvik.databinding.FragmentConnectProgressDeliveryBinding;
import org.commcare.views.connect.CircleProgressBar;
Expand All @@ -27,7 +25,7 @@
import java.util.List;
import java.util.Locale;

public class ConnectDeliveryProgressDeliveryFragment extends Fragment {
public class ConnectDeliveryProgressDeliveryFragment extends ConnectJobFragment {
private FragmentConnectProgressDeliveryBinding binding;
private RecyclerView recyclerView;

Expand All @@ -53,11 +51,6 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa
}

public void updateProgressSummary() {
ConnectJobRecord job = ConnectManager.getActiveJob();
if (job == null || binding.getRoot() == null) {
return;
}

int completed = job.getCompletedVisits();
int total = job.getMaxVisits();
int percent = total > 0 ? (100 * completed / total) : 100;
Expand Down Expand Up @@ -87,8 +80,7 @@ public void updateProgressSummary() {
}

private void populateDeliveryProgress() {
ConnectJobRecord job = ConnectManager.getActiveJob();
if (job == null || job.getDeliveries().isEmpty()) {
if (job.getDeliveries().isEmpty()) {
return;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
import java.util.Hashtable;
import java.util.List;

public class ConnectDeliveryProgressFragment extends Fragment {
public class ConnectDeliveryProgressFragment extends ConnectJobFragment {

private FragmentConnectDeliveryProgressBinding binding;
private ViewStateAdapter viewPagerAdapter;
Expand All @@ -53,7 +53,6 @@ public static ConnectDeliveryProgressFragment newInstance() {
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
binding = FragmentConnectDeliveryProgressBinding.inflate(inflater, container, false);
ConnectJobRecord job = ConnectManager.getActiveJob();
requireActivity().setTitle(R.string.connect_progress_delivery);

if (getArguments() != null) {
Expand Down Expand Up @@ -182,7 +181,6 @@ public void onDestroyView() {
}

public void refreshData() {
ConnectJobRecord job = ConnectManager.getActiveJob();
ConnectManager.updateDeliveryProgress(getContext(), job, success -> {
if (success) {
try {
Expand All @@ -196,7 +194,7 @@ public void refreshData() {
}

private void updateWarningMessage() {
ConnectJobRecord job = ConnectManager.getActiveJob();

String warningText = computeWarningText(job);

CardView warningCard = binding.getRoot().findViewById(R.id.cvConnectMessage);
Expand Down Expand Up @@ -243,7 +241,6 @@ private String computeWarningText(ConnectJobRecord job) {
}

private void updatePaymentConfirmationTile(boolean forceHide) {
ConnectJobRecord job = ConnectManager.getActiveJob();
paymentToConfirm = null;

if (!forceHide) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@

import org.commcare.activities.connect.ConnectActivity;
import org.commcare.android.database.connect.models.ConnectAppRecord;
import org.commcare.android.database.connect.models.ConnectJobRecord;
import org.commcare.connect.ConnectManager;
import org.commcare.dalvik.R;
import org.commcare.engine.resource.AppInstallStatus;
Expand All @@ -24,11 +23,9 @@
import org.javarosa.core.services.locale.LocaleTextException;
import org.javarosa.core.services.locale.Localization;

import androidx.fragment.app.Fragment;
import androidx.navigation.NavDirections;
import androidx.navigation.Navigation;

public class ConnectDownloadingFragment extends Fragment implements ResourceEngineListener {
public class ConnectDownloadingFragment extends ConnectJobFragment implements ResourceEngineListener {

private ProgressBar progressBar;
private TextView statusText;
Expand Down Expand Up @@ -72,15 +69,13 @@ private void setWaitDialogEnabled(boolean enabled) {
}

private void startAppDownload() {
ConnectJobRecord job = ConnectManager.getActiveJob();
ConnectAppRecord record = getLearnApp ? job.getLearnAppInfo() : job.getDeliveryAppInfo();
ConnectManager.downloadAppOrResumeUpdates(record.getInstallUrl(), this);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
ConnectJobRecord job = ConnectManager.getActiveJob();
ConnectDownloadingFragmentArgs args = ConnectDownloadingFragmentArgs.fromBundle(getArguments());
getActivity().setTitle(job.getTitle());

Expand Down Expand Up @@ -115,7 +110,6 @@ public void onSuccessfulVerification() {
Navigation.findNavController(view).popBackStack();

//Launch the learn/deliver app
ConnectJobRecord job = ConnectManager.getActiveJob();
ConnectAppRecord appToLaunch = getLearnApp ? job.getLearnAppInfo() : job.getDeliveryAppInfo();
ConnectManager.launchApp(getActivity(), getLearnApp, appToLaunch.getAppId());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
import org.commcare.dalvik.databinding.FragmentConnectJobDetailBottomSheetDialogBinding;
import org.jetbrains.annotations.NotNull;

import java.util.Objects;

public class ConnectJobDetailBottomSheetDialogFragment extends BottomSheetDialogFragment {

private FragmentConnectJobDetailBottomSheetDialogBinding binding;
Expand Down Expand Up @@ -53,6 +55,8 @@ public View onCreateView(@NotNull LayoutInflater inflater, ViewGroup container,
binding.getRoot().setBackgroundResource(R.drawable.rounded_top_corners);

ConnectJobRecord job = ConnectManager.getActiveJob();
Objects.requireNonNull(job);

int maxPossibleVisits = job.getMaxPossibleVisits();
int daysRemaining = job.getDaysRemaining();

Expand Down
22 changes: 22 additions & 0 deletions app/src/org/commcare/fragments/connect/ConnectJobFragment.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package org.commcare.fragments.connect;

import android.os.Bundle;

import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;

import org.commcare.android.database.connect.models.ConnectJobRecord;
import org.commcare.connect.ConnectManager;

import java.util.Objects;

public class ConnectJobFragment extends Fragment {
protected ConnectJobRecord job;

@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
job = ConnectManager.getActiveJob();
Objects.requireNonNull(job);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,11 @@
import android.widget.Toast;

import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.navigation.Navigation;

import org.commcare.android.database.connect.models.ConnectJobRecord;
import org.commcare.android.database.connect.models.ConnectLearnModuleSummaryRecord;
import org.commcare.android.database.connect.models.ConnectUserRecord;
import org.commcare.connect.database.ConnectDatabaseHelper;
import org.commcare.connect.ConnectManager;
import org.commcare.connect.database.ConnectJobUtils;
import org.commcare.connect.network.ApiConnect;
Expand All @@ -24,7 +22,6 @@
import org.commcare.dalvik.R;
import org.commcare.google.services.analytics.FirebaseAnalyticsUtil;

import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
Expand All @@ -35,7 +32,7 @@
*
* @author dviggiano
*/
public class ConnectJobIntroFragment extends Fragment {
public class ConnectJobIntroFragment extends ConnectJobFragment {
private boolean showLaunchButton = true;

public ConnectJobIntroFragment() {
Expand All @@ -56,7 +53,6 @@ public void onCreate(Bundle savedInstanceState) {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
ConnectJobRecord job = ConnectManager.getActiveJob();
getActivity().setTitle(getString(R.string.connect_job_intro_title));

View view = inflater.inflate(R.layout.fragment_connect_job_intro, container, false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
import java.util.List;
import java.util.Locale;

public class ConnectLearningProgressFragment extends Fragment {
public class ConnectLearningProgressFragment extends ConnectJobFragment {

private boolean showAppLaunch = true;
private @NonNull FragmentConnectLearningProgressBinding viewBinding;
Expand All @@ -55,7 +55,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa
viewBinding = FragmentConnectLearningProgressBinding.inflate(inflater, container, false);
setupToolbar();
setupRefreshButton();
populateJobCard(ConnectManager.getActiveJob());
populateJobCard(job);
refreshLearningData();
return viewBinding.getRoot();
}
Expand Down Expand Up @@ -92,7 +92,6 @@ private void setupRefreshButton() {
}

private void refreshLearningData() {
ConnectJobRecord job = ConnectManager.getActiveJob();
ConnectManager.updateLearningProgress(getContext(), job, success -> {
if (success && isAdded()) {
updateLearningUI();
Expand All @@ -101,7 +100,6 @@ private void refreshLearningData() {
}

private void updateLearningUI() {
ConnectJobRecord job = ConnectManager.getActiveJob();
int progressPercent = job.getLearningPercentComplete();
boolean learningComplete = progressPercent >= 100;
boolean hasAttempted = job.attemptedAssessment();
Expand Down
Loading