diff --git a/app/src/main/java/org/fundacionparaguaya/adviserplatform/data/model/BackgroundQuestion.java b/app/src/main/java/org/fundacionparaguaya/adviserplatform/data/model/BackgroundQuestion.java index afb98980..535f679b 100644 --- a/app/src/main/java/org/fundacionparaguaya/adviserplatform/data/model/BackgroundQuestion.java +++ b/app/src/main/java/org/fundacionparaguaya/adviserplatform/data/model/BackgroundQuestion.java @@ -20,21 +20,15 @@ public class BackgroundQuestion extends SurveyQuestion { @SerializedName("options") private Map options; - public BackgroundQuestion(String name, - String description, - boolean required, - ResponseType responseType, + public BackgroundQuestion(SurveyQuestion surveyQ, QuestionType questionType) { - this(name, description, required, responseType, questionType, new HashMap<>()); + this(surveyQ.getName(), surveyQ.getDescription(), surveyQ.getRequired(), surveyQ.getResponseType(), questionType, new HashMap<>()); } - public BackgroundQuestion(String name, - String description, - boolean required, - ResponseType responseType, + public BackgroundQuestion(SurveyQuestion surveyQ, QuestionType questionType, Map options) { - super(name, description, required, responseType); + super(surveyQ.getName(), surveyQ.getDescription(), surveyQ.getRequired(), surveyQ.getResponseType(),); this.type = questionType; this.options = options; } diff --git a/app/src/main/java/org/fundacionparaguaya/adviserplatform/ui/common/SelectedFirstSpinnerAdapter.java b/app/src/main/java/org/fundacionparaguaya/adviserplatform/ui/common/SelectedFirstSpinnerAdapter.java index a156c251..955f1e28 100644 --- a/app/src/main/java/org/fundacionparaguaya/adviserplatform/ui/common/SelectedFirstSpinnerAdapter.java +++ b/app/src/main/java/org/fundacionparaguaya/adviserplatform/ui/common/SelectedFirstSpinnerAdapter.java @@ -79,23 +79,8 @@ public T getDataAt(int position) @Nullable @Override - public String getItem(int position) { - //Array - //// [ 0 ] - //// [ 1 ] <- selected array index = 1, loc = 0 - //// [ 2 ] - //// [ 3 ] - - //Spinner - ////Index 0: [ 1 ] <- currently selected - ////Index 1: [ 0 ] - ////Index 2: [ 2 ] - ////Index 3: [ 3 ] - - //so if index 0 is clicked, that's our currently selected - //if index 1 is clicked that's actually the value -1 - - //adjusted position, when accounting for reordering around selected index + public String getItemFromSpinner(int position) { + int adjustedPosition = convertSpinnerToValuesIndex(position); if(adjustedPosition == -1) diff --git a/app/src/main/java/org/fundacionparaguaya/adviserplatform/ui/common/widget/IndicatorCard.java b/app/src/main/java/org/fundacionparaguaya/adviserplatform/ui/common/widget/IndicatorCard.java index 93ec0837..71ee007d 100644 --- a/app/src/main/java/org/fundacionparaguaya/adviserplatform/ui/common/widget/IndicatorCard.java +++ b/app/src/main/java/org/fundacionparaguaya/adviserplatform/ui/common/widget/IndicatorCard.java @@ -103,11 +103,7 @@ public IndicatorCard(Context context, AttributeSet attributeSet) { mText.setOnTouchListener((v, event) -> { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: { - pressStartTime = System.currentTimeMillis(); - pressedX = event.getX(); - pressedY = event.getY(); - stayedWithinClickDistance = true; - mText.performClick(); + performClickHandler(event.getX(), event.getY()); break; } case MotionEvent.ACTION_MOVE: { @@ -137,6 +133,13 @@ public IndicatorCard(Context context, AttributeSet attributeSet) { } } + public void performClickHandler(float x, float y) { + pressStartTime = System.currentTimeMillis(); + pressedX = x; + pressedY = y; + stayedWithinClickDistance = true; + mText.performClick(); + } public void setOption(IndicatorOption option) { if(option != null) { @@ -202,11 +205,7 @@ public void clearImageFromMemory() public boolean onTouchEvent(MotionEvent e) { switch (e.getAction()) { case MotionEvent.ACTION_DOWN: { - pressStartTime = System.currentTimeMillis(); - pressedX = e.getX(); - pressedY = e.getY(); - stayedWithinClickDistance = true; - performClick(); + performClickHandler(e.getX(), e.getY()); break; } case MotionEvent.ACTION_MOVE: { diff --git a/app/src/main/java/org/fundacionparaguaya/adviserplatform/ui/dashboard/BaseDashboardActivity.java b/app/src/main/java/org/fundacionparaguaya/adviserplatform/ui/dashboard/BaseDashboardActivity.java new file mode 100644 index 00000000..d0cd068a --- /dev/null +++ b/app/src/main/java/org/fundacionparaguaya/adviserplatform/ui/dashboard/BaseDashboardActivity.java @@ -0,0 +1,73 @@ +import android.arch.lifecycle.ViewModelProviders; +import android.os.Bundle; +import android.support.transition.TransitionManager; +import android.support.v4.app.Fragment; +import android.view.View; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; +import com.github.curioustechizen.ago.RelativeTimeTextView; +import org.fundacionparaguaya.adviserplatform.data.model.Snapshot; +import org.fundacionparaguaya.adviserplatform.data.remote.AuthenticationManager; +import org.fundacionparaguaya.adviserplatform.data.repositories.SyncManager; +import org.fundacionparaguaya.adviserplatform.injection.InjectionViewModelFactory; +import org.fundacionparaguaya.adviserplatform.ui.base.AbstractTabbedFrag; +import org.fundacionparaguaya.adviserplatform.ui.base.DisplayBackNavListener; +import org.fundacionparaguaya.adviserplatform.ui.common.AbstractFragSwitcherActivity; +import org.fundacionparaguaya.adviserplatform.util.AppConstants; +import javax.inject.Inject; + +public abstract class BaseDashboardActivity extends AbstractFragSwitcherActivity implements DisplayBackNavListener { + + TextView mSyncLabel; + LinearLayout mSyncArea; + ImageView mSyncButtonIcon; + RelativeTimeTextView mLastSyncTextView; + TextView mTvTabTitle; + TextView mTvBackLabel; + LinearLayout mBackButton; + + @Inject + SyncManager mSyncManager; + @Inject + AuthenticationManager mAuthManager; + @Inject + InjectionViewModelFactory mViewModelFactory; + + @Override + public void onBackPressed() { + // Implementation of back navigation + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + // Common initialization code here... + } + + protected void setSyncStatus(boolean b, int icon, int circle) { + // Implementation of sync status setup... + } + + @Override + public void onShowBackNav() { + // Implementation of showing back navigation... + } + + @Override + public void onHideBackNav() { + // Implementation of hiding back navigation... + } + + public void setSyncLabel(Integer id, final long value, final long total) { + // Implementation to set sync label... + } + + protected void snapshotsRemainingToSync() { + // Implementation of snapshots remaining to sync... + } + + protected void validateStorageCapacity() { + // Implementation of storage capacity validation... + } +}