Android Open Source - jotform-api-android Update Setting Activity






From Project

Back to project page jotform-api-android.

License

The source code is released under:

GNU General Public License

If you think the Android project jotform-api-android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.jotform.jotformapisample.list;
//from  ww  w .  j av  a 2s  . c  o m
import java.util.HashMap;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;

import com.jotform.api.JotformAPIClient;
import com.jotform.jotformapisample.R;
import com.jotform.jotformapisample.model.SharedData;
import com.loopj.android.http.JsonHttpResponseHandler;

public class UpdateSettingActivity extends Activity {
  
  private EditText      mNameEditText;
  private EditText      mEmailEditText;
  private EditText      mWebsiteEditText;
  private EditText      mTimezoneEditText;
  private EditText      mCompanyEditText;
  private EditText      mSecurityQuestionEditText;
  private EditText      mSecurityAnswerEditText;
  private Spinner        mIndustrySpinner;
  private ProgressDialog    mProgressDialog;
  private Context        mContext;

  @Override
  public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_updatesetting);
    
    mContext = this;
    
    initUI();
    
    loadUserSetting();
  }
  
  private void initUI() {
    
    Button updateButton = (Button) findViewById(R.id.button_updatesettings);
    
    updateButton.setOnClickListener(new OnClickListener(){

      @Override
      public void onClick(View v) {
        // TODO Auto-generated method stub
        updateUserSetting();
      }
      
    });
    
    mNameEditText = (EditText) findViewById(R.id.edittext_name);
    
    mEmailEditText = (EditText) findViewById(R.id.edittext_email);
    
    mWebsiteEditText = (EditText) findViewById(R.id.edittext_website);
    
    mTimezoneEditText = (EditText) findViewById(R.id.edittext_timezone);
    
    mCompanyEditText = (EditText) findViewById(R.id.edittext_company);
    
    mSecurityQuestionEditText = (EditText) findViewById(R.id.edittext_securityquestion);
    
    mSecurityAnswerEditText = (EditText) findViewById(R.id.edittext_securityanswer);
        
    mIndustrySpinner = (Spinner) findViewById(R.id.spinner_industry);
  }
  
  private void loadUserSetting() {
    
    // show loading dialog
    mProgressDialog = ProgressDialog.show(this, "", "Loading settings...", true, false);
    
    // create form using JotformAPI client
    SharedData sharedData = (SharedData) getApplicationContext();

    JotformAPIClient apiClient = sharedData.getJotformAPIClient();
    
    apiClient.getSettings(new JsonHttpResponseHandler(){
      
      @Override
      public void onSuccess(JSONObject data) {
        
        int responseCode;

        try {
          
          // check if result is success or fail
          responseCode = data.getInt("responseCode");

          if ( responseCode == 200 || responseCode == 206 ) {
          
            JSONObject content = data.getJSONObject("content");
            
            mNameEditText.setText(content.getString("name"));
            mEmailEditText.setText(content.getString("email"));
            mWebsiteEditText.setText(content.getString("website"));
            mTimezoneEditText.setText(content.getString("time_zone"));            
          }

        } catch (JSONException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
        
        // dismiss loading dialog
        mProgressDialog.dismiss();        
      }
      
      @Override
      public void onFailure(Throwable arg0, JSONObject data) {
        
        int responseCode;

        try {

          // check what the error is
          responseCode = data.getInt("responseCode");

          if ( responseCode == 401 ) {
            
            // show alert dialog
            String errMsg = data.getString("message") + "\n" + "Please check if your API Key's permission is 'Read Access' or 'Full Access'. You can create form with API key for 'Full Access'.";
            
            AlertDialog.Builder builder = new AlertDialog.Builder(mContext);

            builder.setTitle("JotformAPISample");
            builder.setCancelable(false);
            builder.setMessage(errMsg);
            builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
              public void onClick(DialogInterface dialog, int item) {

              }
            });

            AlertDialog alert = builder.create();
            alert.show();
          }
          
        } catch (JSONException e1) {
          e1.printStackTrace();
        }
        
        mProgressDialog.dismiss();
      }
      
      @Override
      public void onFailure(Throwable e, JSONArray errorResponse) {

        mProgressDialog.dismiss();
      }

      @Override
      public void onFailure(Throwable e, String errorResponse) {
        mProgressDialog.dismiss();
      }
      
      @Override
      public void onFinish() {
        
      }
      
    });
  }
  
  private void updateUserSetting() {
  
    // create setting info to update
    
    HashMap<String, String> settingInfo = new HashMap<String, String>();
    
    if ( mNameEditText.getText().length() > 0 )
      settingInfo.put("name", mNameEditText.getText().toString());
    
    if ( mEmailEditText.getText().length() > 0 )
      settingInfo.put("email", mEmailEditText.getText().toString());
    
    if ( mWebsiteEditText.getText().length() > 0 )
      settingInfo.put("website", mWebsiteEditText.getText().toString());
    
    if ( mTimezoneEditText.getText().length() > 0 )
      settingInfo.put("time_zone", mTimezoneEditText.getText().toString());
    
    if ( mCompanyEditText.getText().length() > 0 )
      settingInfo.put("company", mCompanyEditText.getText().toString());
    
    if ( mSecurityQuestionEditText.getText().length() > 0 )
      settingInfo.put("securityQuestion", mSecurityQuestionEditText.getText().toString());
    
    if ( mSecurityAnswerEditText.getText().length() > 0 )
      settingInfo.put("securityAnswer", mSecurityAnswerEditText.getText().toString());
    
    
    mIndustrySpinner.getSelectedItem();
    
    settingInfo.put("industry", mIndustrySpinner.getSelectedItem().toString());
    /*
    if ( mIndustryEditText.getText().length() > 0 )
      settingInfo.put("industry", mIndustryEditText.getText().toString());
      */
    
    SharedData sharedData = (SharedData) getApplicationContext();
    
    JotformAPIClient apiClient = sharedData.getJotformAPIClient();
    
    apiClient.updateSettings(settingInfo, new JsonHttpResponseHandler(){
      
      @Override
      public void onSuccess(JSONObject loginResponse){

        if ( loginResponse != null ) {

          try {

            int responseCode = loginResponse.getInt("responseCode");

            if ( responseCode == 200 || responseCode == 206 ) {

              // show alert dialog for success
              AlertDialog.Builder builder = new AlertDialog.Builder(mContext);

              builder.setTitle("JotformAPISample");
              builder.setCancelable(false);
              builder.setMessage("You updated setting successfully.");
              builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int item) {

                }
              });

              AlertDialog alert = builder.create();
              alert.show();

            }

          } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
          }

        }

        mProgressDialog.dismiss();
      }

      @Override
      public void onFailure(Throwable e, JSONArray errorResponse) {

        mProgressDialog.dismiss();
      }

      @Override
      public void onFailure(Throwable e, JSONObject errorResponse) {

        mProgressDialog.dismiss();

        // show alert dialog
        String errMsg;

        try {

          errMsg = errorResponse.getString("errorDetails");

          AlertDialog.Builder builder = new AlertDialog.Builder(UpdateSettingActivity.this);

          builder.setTitle("JotformAPISample");
          builder.setCancelable(false);
          builder.setMessage(errMsg);
          builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int item) {

            }
          });

          AlertDialog alert = builder.create();
          alert.show();

        } catch (JSONException e1) {
          // TODO Auto-generated catch block
          e1.printStackTrace();
        }

      }

      @Override
      public void onFailure(Throwable e, String response) {

      }

      @Override
      public void onFinish() {

        mProgressDialog.dismiss();
      }
      
    });
  }
}




Java Source Code List

com.jotform.api.JotformAPIClient.java
com.jotform.api.JotformAPIException.java
com.jotform.api.JsonHelper.java
com.jotform.api.SubmissionFilter.java
com.jotform.jotformapisample.MainActivity.java
com.jotform.jotformapisample.SampleListActivity.java
com.jotform.jotformapisample.list.CreateFormActivity.java
com.jotform.jotformapisample.list.CreateFormPropertiesActivity.java
com.jotform.jotformapisample.list.CreateQuestionActivity.java
com.jotform.jotformapisample.list.CreateReportActivity.java
com.jotform.jotformapisample.list.CreateSubmissionActivity.java
com.jotform.jotformapisample.list.GetAllFormsActivity.java
com.jotform.jotformapisample.list.GetAllReportsActivity.java
com.jotform.jotformapisample.list.GetAllSubmissionsActivity.java
com.jotform.jotformapisample.list.GetFormPropertiesActivity.java
com.jotform.jotformapisample.list.GetHistoryActivity.java
com.jotform.jotformapisample.list.HistoryListActivity.java
com.jotform.jotformapisample.list.RegisterUserActivity.java
com.jotform.jotformapisample.list.SubmissionListActivity.java
com.jotform.jotformapisample.list.UpdateSettingActivity.java
com.jotform.jotformapisample.model.CommonInfo.java
com.jotform.jotformapisample.model.SharedData.java
com.jotform.jotformapisample.utils.DateTimePicker.java
com.jotform.jotformapisample.utils.PrettyDate.java
com.jotform.jotformapisample.utils.PrettyFormat.java