Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.aidmaid.settings;
- import android.app.Activity;
- import android.app.AlertDialog;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.database.Cursor;
- import android.graphics.drawable.Drawable;
- import android.net.Uri;
- import android.os.Bundle;
- import android.provider.MediaStore;
- import android.support.v4.app.Fragment;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.Button;
- import android.widget.CheckBox;
- import android.widget.EditText;
- import android.widget.ImageButton;
- import android.widget.LinearLayout;
- import android.widget.TextView;
- import com.android.volley.RequestQueue;
- import com.android.volley.Response;
- import com.android.volley.VolleyError;
- import com.android.volley.toolbox.Volley;
- import com.octo.android.robospice.JacksonSpringAndroidSpiceService;
- import com.octo.android.robospice.SpiceManager;
- import org.aidmaid.ChangePasswordActivity;
- import org.aidmaid.ChooseAlarmSoundActivity;
- import org.aidmaid.ContactUsActivity;
- import org.aidmaid.DefineMessageActivity;
- import org.aidmaid.EditProfileActivity;
- import org.aidmaid.LinkedAccountsActivity;
- import org.aidmaid.PoliceNumberActivity;
- import org.aidmaid.R;
- import org.aidmaid.TermsOfUseActivity;
- import org.aidmaid.contacts.ContactsFragment;
- import org.aidmaid.countryChoosing.CountryChoosingActivity;
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import de.hdodenhof.circleimageview.CircleImageView;
- /**
- * A simple {@link Fragment} subclass.
- * Use the {@link SettingsFragment#newInstance} factory method to
- * create an instance of this fragment.
- */
- public class SettingsFragment extends Fragment {
- public static SettingsFragment newInstance() {
- SettingsFragment fragment = new SettingsFragment();
- return fragment;
- }
- @Override
- public void onResume() {
- super.onResume();
- }
- public SettingsFragment() {
- // Required empty public constructor
- }
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- //setUpMapIfNeeded();
- }
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- // Inflate the layout for this fragment
- View view = inflater.inflate(R.layout.activity_settings_new, container,
- false);
- return view;
- }
- @Override
- public void onViewCreated(View view, Bundle savedInstanceState) {
- loadAccountLayout();
- loadAlertLayout();
- loadSettings();
- //loginInitialize();
- doneButtonInitialize();
- //chooseCountryInitialize();
- //sirenButtonInitialize();
- //rateButtonInitialize();
- //contactUsButtonInitialize();
- //termsOfUseButtonInitialize();
- //privacyPolicyButtonInitialize();
- }
- private void sirenButtonInitialize() {
- Button alertSoundButton = (Button) getView().findViewById(R.id.alertSoundButton);
- alertSoundButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent chooseAlarmSoundListener = new Intent(getActivity(), ChooseAlarmSoundActivity.class);
- startActivity(chooseAlarmSoundListener);
- }
- });
- }
- @Override
- public void onAttach(Activity activity) {
- super.onAttach(activity);
- mSpiceManager.start(this.getActivity());
- }
- @Override
- public void onDetach() {
- mSpiceManager.shouldStop();
- super.onDetach();
- }
- //private SeekBar mDelayBeforeAlarmSeekBar;
- //private TextView mDelayBeforeAlarmTextView;
- private CheckBox SendGPSCoordsCheckBox;
- private CheckBox PostToSocialNetworksCheckBox;
- private TextView CountryTextView;
- private TextView PolicePhoneTextView;
- private EditText AmbulancePhoneTexView;
- private CheckBox FlashlightBlinkingCheckBox;
- private CheckBox ScreenFlashingCheckBox;
- private CheckBox mShakingCheckBox;
- private CheckBox MaximizeVolumeCheckBox;
- private ContactsFragment mContactFragment;
- private ImageButton mChangePassword, mLinkedAccounts;
- private ImageButton mNotifiyContact;
- private TextView mEditProfile;
- private ImageButton defineMessageButton;
- private void loadAccountLayout() {
- // implement account layout
- mChangePassword = (ImageButton) getView().findViewById(R.id.account_layout).findViewById(R.id.imgbtn_changepass);
- mLinkedAccounts = (ImageButton) getView().findViewById(R.id.account_layout).findViewById(R.id.img_linkedAcounts);
- mEditProfile = (TextView) getView().findViewById(R.id.account_layout).findViewById(R.id.editprofile2);
- mChangePassword.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- NavigateChangePasswordActivity();
- }
- });
- mEditProfile.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- NavigateToEditProfileAcivity();
- }
- });
- mLinkedAccounts.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- NavigateLinkedAccountsActivity();
- }
- });
- }
- private void loadAlertLayout() {
- // implement of alert layout
- mNotifiyContact = (ImageButton) getView().findViewById(R.id.alert_setting).findViewById(R.id.img_contactstonotify);
- mNotifiyContact.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- }
- });
- SendGPSCoordsCheckBox = (CheckBox) getView().findViewById(R.id.alert_setting).findViewById(R.id.sendGpsCheckBox);
- SendGPSCoordsCheckBox.setChecked(ApplicationSettings.getSendGPSCoords(getActivity().getApplicationContext()));
- PostToSocialNetworksCheckBox = (CheckBox) getView().findViewById(R.id.alert_setting).findViewById(R.id.postToSocialCheckBox);
- PostToSocialNetworksCheckBox.setChecked(ApplicationSettings.getPostToSocialNetworks(getActivity().getApplicationContext()));
- defineMessageButton = (ImageButton) getView().findViewById(R.id.alert_setting).findViewById(R.id.defineMessageButton);
- defineMessageButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- NavigateDefineMessage();
- }
- });
- PolicePhoneTextView = (TextView) getView().findViewById(R.id.alert_setting).findViewById(R.id.policePhoneEditText);
- PolicePhoneTextView.setText(ApplicationSettings.getPolicePhone(getActivity().getApplicationContext()));
- PolicePhoneTextView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- NavigatePolicePhoneActivity();
- }
- });
- }
- private void NavigateDefineMessage() {
- Intent intent = new Intent(getActivity().getApplicationContext(), DefineMessageActivity.class);
- startActivity(intent);
- }
- private void loadSettings() {
- //mDelayBeforeAlarmSeekBar = (SeekBar)getView().findViewById(R.id.delayBeforeAlarmSeekBar);
- //mDelayBeforeAlarmSeekBar.setProgress(ApplicationSettings.getDelayBeforeAlarm(getActivity().getApplicationContext())*10);
- //mDelayBeforeAlarmTextView = (TextView)getView().findViewById(R.id.delayBeforeAlarmTextView);
- //mDelayBeforeAlarmTextView.setText(Integer.toString(ApplicationSettings.getDelayBeforeAlarm(getActivity().getApplicationContext())) + " seconds");
- // CountryTextView = (TextView) getView().findViewById(R.id.countryNameTextView);
- // CountryTextView.setText(ApplicationSettings.getCountryList()[ApplicationSettings.getCountryId(getActivity().getApplicationContext())][0]);
- //AmbulancePhoneTexView = (EditText) getView().findViewById(R.id.ambulancePhoneEditText);
- //AmbulancePhoneTexView.setText(ApplicationSettings.getAmbulancePhone(getActivity().getApplicationContext()));
- // FlashlightBlinkingCheckBox = (CheckBox) getView().findViewById(R.id.flashingBlinkingCheckBox);
- // FlashlightBlinkingCheckBox.setChecked(ApplicationSettings.getFlashlightBlinking(getActivity().getApplicationContext()));
- // ScreenFlashingCheckBox = (CheckBox) getView().findViewById(R.id.screenFlashingCheckBox);
- // ScreenFlashingCheckBox.setChecked(ApplicationSettings.getScreenFlashing(getActivity().getApplicationContext()));
- // MaximizeVolumeCheckBox = (CheckBox) getView().findViewById(R.id.maximizeVolumeCheckBox);
- // MaximizeVolumeCheckBox.setChecked(ApplicationSettings.getMaximizeVolume(getActivity().getApplicationContext()));
- // mShakingCheckBox = (CheckBox) getView().findViewById(R.id.shakingCheckBox);
- // mShakingCheckBox.setChecked(ApplicationSettings.getIsShaking(getActivity().getApplicationContext()));
- // Button myContactsButton = (Button) getView().findViewById(R.id.myContactsButton);
- // myContactsButton.setOnClickListener(new View.OnClickListener() {
- // @Override
- // public void onClick(View v) {
- // //FrameLayout fragmentContainer = (FrameLayout)getView().findViewById(R.id.fragmentContainer);
- //// Intent contactsIntent = new Intent(SettingsFragment.this.getActivity(), ContactsFragment.class);
- //// startActivity(contactsIntent);
- //
- //// FragmentManager childFragMan = getFragmentManager();
- //// FragmentTransaction childFragTrans = childFragMan.beginTransaction();
- //// mContactFragment = ContactsFragment.newInstance();
- //// childFragTrans.replace(R.id.fragmentContainer, mContactFragment);
- //// childFragTrans.commit();
- // }
- // });
- }
- public static final int PICK_IMAGE_RESULT_CODE = 111;
- private void loginInitialize() {
- Uri data = getActivity().getIntent().getData();
- // if(data != null && data.getScheme().equals("aidmaidlogin")){
- // String userId = data.getQueryParameter("userid");
- // String username = data.getQueryParameter("username");
- // String fullname = data.getQueryParameter("fullname");
- // String phone = data.getQueryParameter("phone");
- // String email = data.getQueryParameter("email");
- //
- // ApplicationSettings.setUserId(getActivity().getApplicationContext(), userId);
- // ApplicationSettings.setUsername(getActivity().getApplicationContext(), username);
- // ApplicationSettings.setFullname(getActivity().getApplicationContext(), fullname);
- // ApplicationSettings.setTelephone(getActivity().getApplicationContext(), phone);
- // ApplicationSettings.setEmail(getActivity().getApplicationContext(), email);
- //
- // ApplicationSettings.setIsLogin(getActivity().getApplicationContext(), true);
- //
- // LoadAvatar(userId);
- // }
- // mDelayBeforeAlarmSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
- // @Override
- // public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
- //mDelayBeforeAlarmSeekBar.setProgress(progress / 100);
- // mDelayBeforeAlarmTextView.setText(Integer.toString(progress / 10) + " seconds");
- //}
- // @Override
- // public void onStartTrackingTouch(SeekBar seekBar) {
- //
- // }
- //
- // @Override
- // public void onStopTrackingTouch(SeekBar seekBar) {
- //
- // }
- // });
- LinearLayout loginInfoContainer = (LinearLayout) getView().findViewById(R.id.loginInfoContainer);
- Button logoutButton = (Button) getView().findViewById(R.id.logoutButton);
- if (ApplicationSettings.getIsLogin(getActivity().getApplicationContext())) {
- loginInfoContainer.setVisibility(View.VISIBLE);
- //logoutButton.setVisibility(View.VISIBLE);
- // logoutButton.setOnClickListener(new View.OnClickListener() {
- // @Override
- // public void onClick(View view) {
- //
- // }
- // });
- CircleImageView loadImageButton = (CircleImageView) getView().findViewById(R.id.avatarImageView);
- loadImageButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Intent intent = new Intent();
- intent.setType("image/*");
- intent.setAction(Intent.ACTION_GET_CONTENT);
- startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE_RESULT_CODE);
- }
- });
- updateAvatarImage();
- }
- }
- private void doneButtonInitialize() {
- ImageButton doneButton = (ImageButton) getView().findViewById(R.id.doneButton);
- doneButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- saveSettings();
- new AlertDialog.Builder(getActivity())
- .setTitle("Success")
- .setMessage("Settings successfully saved")
- .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int which) {
- }
- })
- .setIcon(android.R.drawable.ic_dialog_info)
- .show();
- }
- });
- }
- private void saveSettings() {
- //ApplicationSettings.setDelayBeforeAlarm(getActivity().getApplicationContext(), mDelayBeforeAlarmSeekBar.getProgress() / 10);
- ApplicationSettings.setSendGPSCoords(getActivity().getApplicationContext(), SendGPSCoordsCheckBox.isChecked());
- ApplicationSettings.setPostToSocialNetworks(getActivity().getApplicationContext(), PostToSocialNetworksCheckBox.isChecked());
- // ApplicationSettings.setPolicePhone(getActivity().getApplicationContext(), PolicePhoneTextView.getText().toString());
- // ApplicationSettings.setAmbulancePhone(getActivity().getApplicationContext(), AmbulancePhoneTexView.getText().toString());
- ApplicationSettings.setFlashlightBlinking(getActivity().getApplicationContext(), FlashlightBlinkingCheckBox.isChecked());
- ApplicationSettings.setScreenFlashing(getActivity().getApplicationContext(), ScreenFlashingCheckBox.isChecked());
- ApplicationSettings.setMaximizeVolume(getActivity().getApplicationContext(), MaximizeVolumeCheckBox.isChecked());
- ApplicationSettings.setIsShaking(getActivity().getApplicationContext(), mShakingCheckBox.isChecked());
- }
- private final int CHOOSE_COUNTRY_REQUEST_CODE = 111;
- private void chooseCountryInitialize() {
- LinearLayout countryContainer = (LinearLayout) getView().findViewById(R.id.countryContainer);
- countryContainer.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(getActivity().getApplicationContext(), CountryChoosingActivity.class);
- startActivityForResult(intent, CHOOSE_COUNTRY_REQUEST_CODE);
- }
- });
- }
- @Override
- public void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- if (requestCode == CHOOSE_COUNTRY_REQUEST_CODE) {
- CountryTextView = (TextView) getView().findViewById(R.id.countryNameTextView);
- CountryTextView.setText(ApplicationSettings.getCountryList()[ApplicationSettings.getCountryId(getActivity().getApplicationContext())][0]);
- }
- if (resultCode == Activity.RESULT_OK && requestCode == PICK_IMAGE_RESULT_CODE) {
- Uri selectedImage = data.getData();
- String[] filePathColumn = {MediaStore.Images.Media.DATA};
- Cursor cursor = getActivity().getContentResolver().query(
- selectedImage, filePathColumn, null, null, null);
- cursor.moveToFirst();
- int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
- String filePath = cursor.getString(columnIndex);
- cursor.close();
- UploadPhoto(ApplicationSettings.getUserId(getActivity().getApplicationContext()), new File(filePath));
- }
- }
- private void rateButtonInitialize() {
- Button rateButton = (Button) getView().findViewById(R.id.rateButton);
- rateButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- final String appPackageName = getActivity().getPackageName(); // Can also use getPackageName(), as below
- startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
- }
- });
- }
- private void contactUsButtonInitialize() {
- Button contactUsButton = (Button) getView().findViewById(R.id.contactUsButton);
- contactUsButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- // String url = "http://www.aidmaid.net/contact.html";
- // Intent browserIntent = new Intent(Intent.ACTION_VIEW);
- // browserIntent.setData(Uri.parse(url));
- // startActivity(browserIntent);
- Intent contactUsIntent = new Intent(SettingsFragment.this.getActivity().getApplicationContext(), ContactUsActivity.class);
- startActivity(contactUsIntent);
- }
- });
- }
- private void termsOfUseButtonInitialize() {
- Button termsOfUseButton = (Button) getView().findViewById(R.id.termsOfUseButton);
- termsOfUseButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(getActivity().getApplicationContext(), TermsOfUseActivity.class);
- Bundle parameters = new Bundle();
- parameters.putString("title", "Terms of use");
- intent.putExtras(parameters);
- startActivity(intent);
- }
- });
- }
- private void privacyPolicyButtonInitialize() {
- Button privacyPolicyButton = (Button) getView().findViewById(R.id.privacyPolicyButton);
- privacyPolicyButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(getActivity().getApplicationContext(), TermsOfUseActivity.class);
- Bundle parameters = new Bundle();
- parameters.putString("title", "Privacy policy");
- intent.putExtras(parameters);
- startActivity(intent);
- }
- });
- }
- protected SpiceManager mSpiceManager = new SpiceManager(JacksonSpringAndroidSpiceService.class);
- private void UploadPhoto(final String userId, File avatarFile) {
- UploadAvatarRequest uploadAcatarRequest = new UploadAvatarRequest(getActivity().getApplicationContext(), userId, avatarFile, new Response.Listener() {
- @Override
- public void onResponse(Object response) {
- loadAvatar(userId);
- }
- },
- new Response.ErrorListener() {
- @Override
- public void onErrorResponse(VolleyError error) {
- }
- });
- RequestQueue queue = Volley.newRequestQueue(getActivity().getApplicationContext());
- queue.add(uploadAcatarRequest);
- }
- private String PATH_TO_IMAGE = "avatar.jpg";
- private void updateAvatarImage() {
- String pathToImage = getActivity().getFilesDir() + "/" + PATH_TO_IMAGE;
- File file = new File(pathToImage);
- CircleImageView avatarImageView = (CircleImageView) getView().findViewById(R.id.avatarImageView);
- if (!file.exists()) {
- avatarImageView.setImageResource(R.drawable.avatar);
- loadAvatar(ApplicationSettings.getUserId(getActivity().getApplicationContext()));
- return;
- }
- if (file.length() > 100)
- ApplicationSettings.setHasAvatar(getActivity().getApplicationContext(), true);
- else {
- ApplicationSettings.setHasAvatar(getActivity().getApplicationContext(), false);
- return;
- }
- Drawable avatar = Drawable.createFromPath(pathToImage);
- if (avatar != null)
- avatarImageView.setImageDrawable(avatar);
- }
- private void loadAvatar(String userId) {
- LoadAvatarRequest loadAcatarRequest = new LoadAvatarRequest(getActivity().getApplicationContext(), userId, new Response.Listener<byte[]>() {
- @Override
- public void onResponse(byte[] response) {
- try {
- String content = new String(response);
- String pathToImage = getActivity().getFilesDir() + "/" + PATH_TO_IMAGE;
- FileOutputStream stream = new FileOutputStream(pathToImage);
- stream.write(response);
- stream.close();
- getActivity().runOnUiThread(new Runnable() {
- @Override
- public void run() {
- updateAvatarImage();
- }
- });
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- , new Response.ErrorListener() {
- @Override
- public void onErrorResponse(VolleyError error) {
- }
- });
- RequestQueue queue = Volley.newRequestQueue(getActivity().getApplicationContext());
- queue.add(loadAcatarRequest);
- }
- // navigate methods
- private void NavigateChangePasswordActivity() {
- Intent EditProfileIntent = new Intent(getActivity(), ChangePasswordActivity.class);
- startActivity(EditProfileIntent);
- }
- private void NavigateToEditProfileAcivity() {
- Intent EditProfileIntent = new Intent(getActivity(), EditProfileActivity.class);
- startActivity(EditProfileIntent);
- }
- private void NavigateLinkedAccountsActivity() {
- Intent LinkedAccountIntent = new Intent(getActivity(), LinkedAccountsActivity.class);
- startActivity(LinkedAccountIntent);
- }
- private void NavigatePolicePhoneActivity() {
- Intent PolicePhoneIntent = new Intent(getActivity(), PoliceNumberActivity.class);
- startActivity(PolicePhoneIntent);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement