push notification switch added
This commit is contained in:
@@ -3,13 +3,18 @@ package ch.pizzapp.android.fragment;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.widget.SwitchCompat;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.CompoundButton;
|
||||
import android.widget.RelativeLayout;
|
||||
|
||||
import com.afollestad.materialdialogs.DialogAction;
|
||||
import com.afollestad.materialdialogs.MaterialDialog;
|
||||
import com.onesignal.OneSignal;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
import butterknife.BindString;
|
||||
import butterknife.BindView;
|
||||
@@ -22,10 +27,12 @@ import ch.pizzapp.android.activity.MyAddressesActivity;
|
||||
import ch.pizzapp.android.activity.SplashActivity;
|
||||
import ch.pizzapp.android.activity.UpdatePasswordActivity;
|
||||
import ch.pizzapp.android.activity.UpdateProfileActivity;
|
||||
import ch.pizzapp.android.api.ApiConstants;
|
||||
import ch.pizzapp.android.api.ApiErrorUtils;
|
||||
import ch.pizzapp.android.api.ApiService;
|
||||
import ch.pizzapp.android.api.ResponseObject;
|
||||
import ch.pizzapp.android.helper.DialogHelper;
|
||||
import ch.pizzapp.android.helper.NetworkHelper;
|
||||
import ch.pizzapp.android.helper.SessionHelper;
|
||||
import ch.pizzapp.android.helper.SharedPrefsHelper;
|
||||
import ch.pizzapp.android.model.UserModel;
|
||||
@@ -47,6 +54,7 @@ public class ProfileFragment extends BaseFragment {
|
||||
@BindView(R.id.lastnamePizzalinkInfoLayout) AppInfoView lastnamePizzalinkInfoLayout;
|
||||
@BindView(R.id.emailPizzalinkInfoLayout) AppInfoView emailPizzalinkInfoLayout;
|
||||
@BindView(R.id.phonePizzalinkInfoLayout) AppInfoView phonePizzalinkInfoLayout;
|
||||
@BindView(R.id.enableNotificationsSwitch) SwitchCompat enableNotificationsSwitch;
|
||||
|
||||
@BindString(R.string.bottom_nav_menu_item_profile) String fragmentTitle;
|
||||
@BindString(R.string.alert_logout) String logoutAlertText;
|
||||
@@ -73,6 +81,7 @@ public class ProfileFragment extends BaseFragment {
|
||||
ButterKnife.bind(this, view);
|
||||
initViews();
|
||||
getCustomerProfile();
|
||||
getNotificationStatus();
|
||||
return view;
|
||||
}
|
||||
|
||||
@@ -129,6 +138,49 @@ public class ProfileFragment extends BaseFragment {
|
||||
|
||||
private void initViews(){
|
||||
setPizzalinkToolbarFields(false, fragmentTitle);
|
||||
enableNotificationsSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
|
||||
setNotificationStatus();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void getNotificationStatus(){
|
||||
OneSignal.getTags(new OneSignal.GetTagsHandler() {
|
||||
@Override
|
||||
public void tagsAvailable(final JSONObject tags) {
|
||||
getActivity().runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if(tags != null &&
|
||||
!tags.toString().isEmpty() &&
|
||||
tags.toString().contains(ApiConstants.ONESIGNAL_NOTIFICATION_TAG_KEY)){
|
||||
enableNotificationsSwitch.setChecked(true);
|
||||
}
|
||||
else {
|
||||
enableNotificationsSwitch.setChecked(false);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void setNotificationStatus(){
|
||||
if(!NetworkHelper.isNetworkAvailable()){
|
||||
DialogHelper.showNoNetworkDialog();
|
||||
return;
|
||||
}
|
||||
|
||||
if(enableNotificationsSwitch.isChecked()) {
|
||||
OneSignal.sendTag(
|
||||
ApiConstants.ONESIGNAL_NOTIFICATION_TAG_KEY,
|
||||
ApiConstants.ONESIGNAL_NOTIFICATION_TAG_VALUE);
|
||||
}
|
||||
else {
|
||||
OneSignal.deleteTag(ApiConstants.ONESIGNAL_NOTIFICATION_TAG_KEY);
|
||||
}
|
||||
}
|
||||
|
||||
private void getCustomerProfile(){
|
||||
|
||||
Reference in New Issue
Block a user