Skip to content

Instantly share code, notes, and snippets.

@ebnrdwan
Created September 14, 2018 23:16
Show Gist options
  • Save ebnrdwan/1279713290199a7ac6038d3538f7a148 to your computer and use it in GitHub Desktop.
Save ebnrdwan/1279713290199a7ac6038d3538f7a148 to your computer and use it in GitHub Desktop.
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