Search in sources :

Example 1 with Gender

use of com.backendless.examples.endless.matchmaker.models.local.Gender in project Android-SDK by Backendless.

the class ProfileActivity method onCreate.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.profile);
    TextView nameField = (TextView) findViewById(R.id.nameField);
    TextView genderField = (TextView) findViewById(R.id.genderField);
    TextView ageField = (TextView) findViewById(R.id.ageField);
    ImageView avatarImage = (ImageView) findViewById(R.id.avatarImage);
    ImageView genderImage = (ImageView) findViewById(R.id.genderImage);
    BackendlessUser currentUser = Backendless.UserService.CurrentUser();
    // Checking CurrentUser
    if (currentUser == null) {
        Lifecycle.runLoginActivity(ProfileActivity.this);
        finish();
    } else {
        nameField.setText((String) currentUser.getProperty(Defaults.NAME_PROPERTY));
        Gender userGender = Gender.valueOf((String) currentUser.getProperty(Defaults.GENDER_PROPERTY));
        genderField.setText(userGender.toString());
        if (userGender == Gender.male) {
            avatarImage.setImageDrawable(getResources().getDrawable(R.drawable.avatar_default_male));
            genderImage.setImageDrawable(getResources().getDrawable(R.drawable.icon_male));
        } else {
            avatarImage.setImageDrawable(getResources().getDrawable(R.drawable.avatar_default_female));
            genderImage.setImageDrawable(getResources().getDrawable(R.drawable.icon_female));
        }
        Date birthDate = (Date) currentUser.getProperty(Defaults.BIRTH_DATE_PROPERTY);
        ageField.setText(String.valueOf(SimpleMath.getAgeFromDate(birthDate)));
    }
    findViewById(R.id.findButton).setOnClickListener(findMatchesListener);
    findViewById(R.id.editFoodPreferenceButton).setOnClickListener(getEditPreferencesListener(PreferenceTheme.FOOD));
    findViewById(R.id.editMusicPreferenceButton).setOnClickListener(getEditPreferencesListener(PreferenceTheme.MUSIC));
    findViewById(R.id.editHobbiesPreferenceButton).setOnClickListener(getEditPreferencesListener(PreferenceTheme.HOBBIES));
    findViewById(R.id.editTravelPreferenceButton).setOnClickListener(getEditPreferencesListener(PreferenceTheme.TRAVEL));
    Button button_logout = (Button) findViewById(R.id.buttonLogOut);
    button_logout.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            progressDialog = UIFactory.getDefaultProgressDialog(ProfileActivity.this);
            Backendless.UserService.logout(new AsyncCallback<Void>() {

                @Override
                public void handleResponse(Void aVoid) {
                    Lifecycle.runLoginActivity(ProfileActivity.this);
                    finish();
                    progressDialog.cancel();
                }

                @Override
                public void handleFault(BackendlessFault backendlessFault) {
                    progressDialog.cancel();
                    Toast.makeText(ProfileActivity.this, backendlessFault.getMessage(), Toast.LENGTH_LONG).show();
                }
            });
        }
    });
}
Also used : BackendlessUser(com.backendless.BackendlessUser) Button(android.widget.Button) ResponseAsyncCallback(com.backendless.examples.endless.matchmaker.controllers.shared.ResponseAsyncCallback) AsyncCallback(com.backendless.async.callback.AsyncCallback) TextView(android.widget.TextView) ImageView(android.widget.ImageView) Gender(com.backendless.examples.endless.matchmaker.models.local.Gender) ImageView(android.widget.ImageView) View(android.view.View) TextView(android.widget.TextView) Date(java.util.Date) BackendlessFault(com.backendless.exceptions.BackendlessFault)

Example 2 with Gender

use of com.backendless.examples.endless.matchmaker.models.local.Gender in project Android-SDK by Backendless.

the class MatchViewActivity method onCreate.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.matchview);
    progressDialog = UIFactory.getDefaultProgressDialog(this);
    TextView nameField = (TextView) findViewById(R.id.nameField);
    TextView genderField = (TextView) findViewById(R.id.genderField);
    TextView ageField = (TextView) findViewById(R.id.ageField);
    ImageView avatarImage = (ImageView) findViewById(R.id.avatarImage);
    ImageView genderImage = (ImageView) findViewById(R.id.genderImage);
    matchPercentField = (TextView) findViewById(R.id.matchPercents);
    foodMatchValue = (TextView) findViewById(R.id.foodMatchValue);
    foodProgressBar = (ProgressBar) findViewById(R.id.foodProgressBar);
    musicMatchValue = (TextView) findViewById(R.id.musicMatchValue);
    musicProgressBar = (ProgressBar) findViewById(R.id.musicProgressBar);
    hobbiesMatchValue = (TextView) findViewById(R.id.hobbiesMatchValue);
    hobbiesProgressBar = (ProgressBar) findViewById(R.id.hobbiesProgressBar);
    travelMatchValue = (TextView) findViewById(R.id.travelMatchValue);
    travelProgressBar = (ProgressBar) findViewById(R.id.travelProgressBar);
    currentUserGeoPoint = (GeoPoint) getIntent().getSerializableExtra(Defaults.CURRENT_USER_GEO_POINT_BUNDLE_TAG);
    targetUserGeoPoint = (GeoPoint) getIntent().getSerializableExtra(Defaults.TARGET_USER_GEO_POINT_BUNDLE_TAG);
    triger = getIntent().getStringExtra(Defaults.TRIGER);
    String targetUserEmail = targetUserGeoPoint.getMetadata(BackendlessUser.EMAIL_KEY);
    targetUserName = targetUserGeoPoint.getMetadata(Defaults.NAME_PROPERTY);
    Gender targetUserGender = Gender.valueOf(targetUserGeoPoint.getMetadata(Defaults.GENDER_PROPERTY));
    targetUserDeviceRegistrationId = targetUserGeoPoint.getMetadata(Defaults.DEVICE_REGISTRATION_ID_PROPERTY);
    Date userBirthDate;
    try {
        userBirthDate = Defaults.DEFAULT_DATE_FORMATTER.parse(targetUserGeoPoint.getMetadata(Defaults.BIRTH_DATE_PROPERTY));
    } catch (ParseException e) {
        progressDialog.cancel();
        Log.logLine(e);
        return;
    }
    Button actionButton = (Button) findViewById(R.id.actionButton);
    if (!targetUserGeoPoint.getMetadata().containsKey(Backendless.UserService.CurrentUser().getEmail()) || !currentUserGeoPoint.getMetadata().containsKey(targetUserEmail)) {
        actionButton.setText(getResources().getText(R.string.button_match_ping));
        actionButton.setOnClickListener(pingUserListener);
    } else {
        actionButton.setText(getResources().getText(R.string.button_sendmessage));
        actionButton.setOnClickListener(sendMessageListener);
    }
    nameField.setText(targetUserName);
    genderField.setText(targetUserGender.name());
    if (targetUserGender == Gender.male) {
        avatarImage.setImageDrawable(getResources().getDrawable(R.drawable.avatar_default_male));
        genderImage.setImageDrawable(getResources().getDrawable(R.drawable.icon_male));
    } else {
        avatarImage.setImageDrawable(getResources().getDrawable(R.drawable.avatar_default_female));
        genderImage.setImageDrawable(getResources().getDrawable(R.drawable.icon_female));
    }
    ageField.setText(String.valueOf(SimpleMath.getAgeFromDate(userBirthDate)));
    Map<String, String> metaDataMap = currentUserGeoPoint.getMetadata();
    Map<String, String> metaDataFood = new HashMap<String, String>();
    Map<String, String> metaDataMusic = new HashMap<String, String>();
    Map<String, String> metaDataHobbies = new HashMap<String, String>();
    Map<String, String> metaDataTravel = new HashMap<String, String>();
    for (Map.Entry<String, String> map : metaDataMap.entrySet()) {
        String value = map.getValue();
        String key = map.getKey();
        if (value.equals(foodName))
            metaDataFood.put(key, foodName);
        if (value.equals(musicName))
            metaDataMusic.put(key, musicName);
        if (value.equals(hobbiesName))
            metaDataHobbies.put(key, hobbiesName);
        if (value.equals(travelName))
            metaDataTravel.put(key, travelName);
    }
    int maxPoints = 10;
    if (!metaDataFood.isEmpty()) {
        BackendlessGeoQuery backendlessGeoQuery = new BackendlessGeoQuery(metaDataFood, maxPoints);
        backendlessGeoQuery.setPageSize(50);
        backendlessGeoQuery.setIncludeMeta(true);
        food = false;
        Backendless.Geo.relativeFind(backendlessGeoQuery, gotFoodCallback);
    } else {
        foodMatchValue.setText(String.valueOf(0));
        foodProgressBar.setProgress(0);
        food = true;
    }
    if (!metaDataMusic.isEmpty()) {
        BackendlessGeoQuery backendlessGeoQuery = new BackendlessGeoQuery(metaDataMusic, maxPoints);
        backendlessGeoQuery.setPageSize(50);
        backendlessGeoQuery.setIncludeMeta(true);
        music = false;
        Backendless.Geo.relativeFind(backendlessGeoQuery, gotMusicCallback);
    } else {
        musicMatchValue.setText(String.valueOf(0));
        musicProgressBar.setProgress(0);
        music = true;
    }
    if (!metaDataHobbies.isEmpty()) {
        BackendlessGeoQuery backendlessGeoQuery = new BackendlessGeoQuery(metaDataHobbies, maxPoints);
        backendlessGeoQuery.setPageSize(50);
        backendlessGeoQuery.setIncludeMeta(true);
        hobbies = false;
        Backendless.Geo.relativeFind(backendlessGeoQuery, gotHobbiesCallback);
    } else {
        hobbiesMatchValue.setText(String.valueOf(0));
        hobbiesProgressBar.setProgress(0);
        hobbies = true;
    }
    if (!metaDataTravel.isEmpty()) {
        BackendlessGeoQuery backendlessGeoQuery = new BackendlessGeoQuery(metaDataTravel, maxPoints);
        backendlessGeoQuery.setPageSize(50);
        backendlessGeoQuery.setIncludeMeta(true);
        travel = false;
        Backendless.Geo.relativeFind(backendlessGeoQuery, gotTravelCallback);
    } else {
        travelMatchValue.setText(String.valueOf(0));
        travelProgressBar.setProgress(0);
        travel = true;
    }
}
Also used : Gender(com.backendless.examples.endless.matchmaker.models.local.Gender) BackendlessGeoQuery(com.backendless.geo.BackendlessGeoQuery) GeoPoint(com.backendless.geo.GeoPoint) ParseException(java.text.ParseException)

Aggregations

Gender (com.backendless.examples.endless.matchmaker.models.local.Gender)2 View (android.view.View)1 Button (android.widget.Button)1 ImageView (android.widget.ImageView)1 TextView (android.widget.TextView)1 BackendlessUser (com.backendless.BackendlessUser)1 AsyncCallback (com.backendless.async.callback.AsyncCallback)1 ResponseAsyncCallback (com.backendless.examples.endless.matchmaker.controllers.shared.ResponseAsyncCallback)1 BackendlessFault (com.backendless.exceptions.BackendlessFault)1 BackendlessGeoQuery (com.backendless.geo.BackendlessGeoQuery)1 GeoPoint (com.backendless.geo.GeoPoint)1 ParseException (java.text.ParseException)1 Date (java.util.Date)1