Created
September 14, 2018 23:16
-
-
Save ebnrdwan/1279713290199a7ac6038d3538f7a148 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package ebnrdwan.io.parentalApp.ChildApp.TasksChild.TaskDetails; | |
import android.content.Intent; | |
import android.os.Bundle; | |
import android.support.v4.text.TextUtilsCompat; | |
import android.text.TextUtils; | |
import android.util.LayoutDirection; | |
import android.view.View; | |
import android.widget.FrameLayout; | |
import android.widget.LinearLayout; | |
import android.widget.TextView; | |
import com.daimajia.slider.library.SliderTypes.BaseSliderView; | |
import com.daimajia.slider.library.SliderTypes.TextSliderView; | |
import com.google.gson.Gson; | |
import java.util.ArrayList; | |
import java.util.HashMap; | |
import java.util.Locale; | |
import butterknife.BindView; | |
import butterknife.ButterKnife; | |
import butterknife.OnClick; | |
import butterknife.Unbinder; | |
import ebnrdwan.io.parentalApp.ChildApp.TasksChild.EditTask.EditTaskActivity; | |
import ebnrdwan.io.parentalApp.R; | |
import ebnrdwan.io.parentalApp.Repository.Models.ApiResponse.TaskModelResponse; | |
import ebnrdwan.io.parentalApp.Repository.Remote.Api.ApiClientConfig; | |
import ebnrdwan.io.parentalApp.Utilities.BaseActivity; | |
import ebnrdwan.io.parentalApp.Utilities.Constants; | |
import ebnrdwan.io.parentalApp.Utilities.CustomWidgets.ChildAnimationExample; | |
import ebnrdwan.io.parentalApp.Utilities.CustomWidgets.SliderLayout; | |
import ebnrdwan.io.parentalApp.Utilities.RealmGsonBuilder; | |
import ebnrdwan.io.parentalApp.Utilities.SharedPrefrences.SessionManager; | |
import static maes.tech.intentanim.CustomIntent.customType; | |
public class TaskDetailsActivity extends BaseActivity implements BaseSliderView.OnSliderClickListener { | |
@BindView(R.id.slider) | |
public SliderLayout pagerSlider; | |
@BindView(R.id.btn_edit_task) | |
FrameLayout btnEditTask; | |
@BindView(R.id.view_task_label_pending) | |
LinearLayout pendingTask; | |
@BindView(R.id.view_task_label_compelete) | |
LinearLayout completeTask; | |
@BindView(R.id.view_task_label_pending_conf) | |
LinearLayout pendingConfirm; | |
@BindView(R.id.task_start_time) | |
TextView startTime; | |
@BindView(R.id.task_end_time) | |
TextView endTime; | |
@BindView(R.id.task_title) | |
TextView taskTitle; | |
@BindView(R.id.tv_repeat) | |
TextView repeat; | |
@BindView(R.id.reward_browsing) | |
TextView rewardBrowsing; | |
@BindView(R.id.reward_application) | |
TextView rewardApplication; | |
@BindView(R.id.reward_internet) | |
TextView rewardInternet; | |
TaskModelResponse.TaskList model; | |
Unbinder unbinder; | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
unbinder = ButterKnife | |
.bind(this); | |
if (getIntent().hasExtra("task")) { | |
model = new Gson().fromJson(getIntent().getExtras().getString("task"), TaskModelResponse.TaskList.class); | |
if (Constants.TASK_PENDING_CONFIRM.equals(model.getTask_status())) | |
btnEditTask.setVisibility(View.VISIBLE); | |
fillData(); | |
} | |
if (SessionManager.getInstance().getUserData().getUser_role() == Constants.CHILD_TYPE) { | |
if (!Constants.TASK_PENDING_CONFIRM.equals(model.getTask_status()) && !Constants.TASK_COMPLETE.equals(model.getTask_status())) | |
btnEditTask.setVisibility(View.VISIBLE); | |
else btnEditTask.setVisibility(View.GONE); | |
} else { | |
if (Constants.TASK_PENDING_CONFIRM.equals(model.getTask_status())) | |
btnEditTask.setVisibility(View.VISIBLE); | |
else btnEditTask.setVisibility(View.GONE); | |
} | |
if (TextUtilsCompat.getLayoutDirectionFromLocale(Locale.getDefault()) == LayoutDirection.RTL) | |
btnEditTask.setScaleX(-1); | |
else btnEditTask.setScaleX(1); | |
initSlider(); | |
} | |
void fillData() { | |
if (model != null) { | |
taskTitle.setText(model.getTask_name()); | |
startTime.setText(model.getTask_time_from()); | |
endTime.setText(model.getTask_time_to()); | |
handleTaskStatus(model.getTask_status(), ""); | |
// if (!TextUtils.isEmpty(model.getTast_repeat_type())) | |
// repeat.setText(model.getTast_repeat_type() + ""); | |
// else repeat.setText(R.string.not_repeat); | |
fillTextView(repeat, model.getTast_repeat_type(), getResources().getString(R.string.not_repeat), false); | |
fillTextView(rewardInternet, model.getAward_usage_internet() + "", "0", true); | |
fillTextView(rewardBrowsing, model.getAward_usage_browser() + "", "0", true); | |
fillTextView(rewardApplication, model.getAward_usage_package() + "", "non", true); | |
} | |
} | |
void fillTextView(TextView view, String fill, String error, boolean hideIfEmpty) { | |
if (!TextUtils.isEmpty(fill)) { | |
view.setText(fill); | |
} else { | |
if (hideIfEmpty) view.setVisibility(View.GONE); | |
else view.setText(error); | |
} | |
} | |
void handleTaskStatus(String state, String confirmation) { | |
if (Constants.TASK_COMPLETE.equals(state)) { | |
pendingTask.setVisibility(View.GONE); | |
pendingConfirm.setVisibility(View.GONE); | |
completeTask.setVisibility(View.VISIBLE); | |
} else if (Constants.TASK_PENDING_CONFIRM.equals(state)) { | |
completeTask.setVisibility(View.GONE); | |
pendingTask.setVisibility(View.GONE); | |
pendingConfirm.setVisibility(View.VISIBLE); | |
} else { | |
completeTask.setVisibility(View.GONE); | |
pendingTask.setVisibility(View.VISIBLE); | |
pendingConfirm.setVisibility(View.GONE); | |
} | |
} | |
@Override | |
protected int getLayoutId() { | |
return R.layout.activity_task_details; | |
} | |
// TODO: 18/03/2018 1- when pending ---> adding button to submit , ---> hide image slider | |
// TODO: 18/03/2018 2- adding the confirmer person and the gift | |
private void initSlider() { | |
if (model.getTask_image() != null) | |
if (model.getTask_image().size() > 0) { | |
HashMap<String, String> file_maps2 = new HashMap<String, String>(); | |
file_maps2.put("1", ApiClientConfig.IMAGE_URL + model.getTask_image().get(0).getTask_url_image()); | |
if (model.getTask_image().size() > 1) | |
file_maps2.put("2", ApiClientConfig.IMAGE_URL + model.getTask_image().get(1).getTask_url_image()); | |
if (model.getTask_image().size() > 2) | |
file_maps2.put("3", ApiClientConfig.IMAGE_URL + model.getTask_image().get(2).getTask_url_image()); | |
for (String name : file_maps2.keySet()) { | |
TextSliderView textSliderView = new TextSliderView(this); | |
// initialize a SliderLayout | |
textSliderView | |
// .description(name) | |
.image(file_maps2.get(name)) | |
.setScaleType(BaseSliderView.ScaleType.CenterCrop) | |
.setOnSliderClickListener(this); | |
textSliderView.bundle(new Bundle()); | |
textSliderView.getBundle().putString("extra", name); | |
pagerSlider.addSlider(textSliderView); | |
pagerSlider.setPresetTransformer(SliderLayout.Transformer.Default); | |
pagerSlider.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom); | |
pagerSlider.setCustomAnimation(new ChildAnimationExample()); | |
pagerSlider.setDuration(4000); | |
pagerSlider.addOnPageChangeListener(this); | |
return; | |
} | |
} | |
HashMap<String, Integer> file_maps = new HashMap<String, Integer>(); | |
file_maps.put("1", R.drawable.task2); | |
file_maps.put("2", R.drawable.task2); | |
file_maps.put("3", R.drawable.task3); | |
for (String name : file_maps.keySet()) { | |
TextSliderView textSliderView = new TextSliderView(this); | |
// initialize a SliderLayout | |
textSliderView | |
.image(file_maps.get(name)) | |
.setScaleType(BaseSliderView.ScaleType.CenterCrop) | |
.setOnSliderClickListener(this); | |
textSliderView.bundle(new Bundle()); | |
textSliderView.getBundle().putString("extra", name); | |
pagerSlider.addSlider(textSliderView); | |
} | |
pagerSlider.setPresetTransformer(SliderLayout.Transformer.Default); | |
pagerSlider.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom); | |
pagerSlider.setCustomAnimation(new ChildAnimationExample()); | |
pagerSlider.setDuration(4000); | |
pagerSlider.addOnPageChangeListener(this); | |
} | |
@OnClick(R.id.btn_edit_task) | |
void openEditActivity() { | |
Intent intent = new Intent(TaskDetailsActivity.this, EditTaskActivity.class); | |
String modelString = ""; | |
modelString = RealmGsonBuilder.getInstance().toJson(model); | |
intent.putExtra("task", modelString); | |
startActivity(intent); | |
customType(TaskDetailsActivity.this, Constants.BOTTOM_TO_UP); | |
} | |
@Override | |
protected void onDestroy() { | |
super.onDestroy(); | |
unbinder.unbind(); | |
} | |
@Override | |
public void onSliderClick(BaseSliderView slider) { | |
} | |
@Override | |
public void onPermissionGranted() { | |
} | |
@Override | |
public void onPermissionDenied(ArrayList<String> deniedPermissions) { | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment