diff --git a/app/app.iml b/app/app.iml index cb2d34f..ea727fb 100644 --- a/app/app.iml +++ b/app/app.iml @@ -1,5 +1,5 @@ - + @@ -12,8 +12,9 @@ - - + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 4e9ad46..cda4c3f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -29,10 +29,32 @@ android { exclude 'META-INF/LICENSE' exclude 'META-INF/NOTICE' } - +// dexOptions { +// incremental true +// javaMaxHeapSize "4g" +// } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:22.2.1' + compile 'com.squareup.picasso:picasso:2.4.0' + compile 'com.android.support:support-v4:22.+' + compile 'com.android.support:support-v13:22.+' + compile 'com.android.support:support-annotations:22.+' + compile 'com.android.support:appcompat-v7:22.+' + compile 'com.android.support:cardview-v7:22.+' + compile 'com.android.support:design:22.2.0' + compile 'com.google.android.gms:play-services-plus:+' + compile 'com.fasterxml.jackson.core:jackson-core:2.5.3' + compile 'com.fasterxml.jackson.core:jackson-databind:2.5.3' + compile 'com.fasterxml.jackson.core:jackson-annotations:2.5.3' + compile 'com.squareup.okhttp:okhttp:2.4.0' + compile 'com.squareup.okhttp:okhttp-urlconnection:2.4.0' + compile 'org.apache.commons:commons-lang3:3.0' + compile 'com.jakewharton:butterknife:7.0.0' + compile 'com.nineoldandroids:library:2.4.0' + compile 'com.squareup.retrofit:retrofit:1.9.0' + compile 'com.squareup.retrofit:converter-jackson:1.9.0' + compile 'com.facebook.android:facebook-android-sdk:4.1.0' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index aeb441d..b4e95d6 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -30,6 +30,35 @@ + + + + + + + + + + + + + + + + + diff --git a/app/src/main/java/com/slidenetwork/Slide/activities/AbsSlideActiviy.java b/app/src/main/java/com/slidenetwork/Slide/activities/AbsSlideActiviy.java new file mode 100644 index 0000000..b3df7f7 --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/activities/AbsSlideActiviy.java @@ -0,0 +1,14 @@ +package com.slidenetwork.Slide.activities; + +import android.app.Activity; + +import retrofit.RetrofitError; + + +public class AbsSlideActiviy extends Activity { + + public void handleRetrofitErrors(RetrofitError error){ + int responseCode=error.getResponse().getStatus(); + + } +} diff --git a/app/src/main/java/com/slidenetwork/Slide/activities/DeepLinkParserActivity.java b/app/src/main/java/com/slidenetwork/Slide/activities/DeepLinkParserActivity.java new file mode 100644 index 0000000..610d8b4 --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/activities/DeepLinkParserActivity.java @@ -0,0 +1,38 @@ +package com.slidenetwork.Slide.activities; + +import android.app.Activity; +import android.content.Intent; +import android.os.Bundle; + +import com.slidenetwork.Slide.R; +import com.slidenetwork.Slide.utils.Constants; +import com.slidenetwork.Slide.utils.Toolbox; + + +public class DeepLinkParserActivity extends Activity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.dummy_layout_deeplink); + Intent intent=getIntent(); + String action=intent.getAction(); + String data=intent.getDataString(); + Toolbox.writeToLog("Token from browser " + data); + Intent out=new Intent(DeepLinkParserActivity.this,SigninWithEmailActivity.class); + out.putExtra(Constants.DEEPLINK_TOKEN,data=parseLinkData(data)); + Toolbox.writeToLog("Token from browser after " + data); + startActivity(out); + finish(); + } + + private String parseLinkData(String data){ + if(data==null) return data; + if(data.contains("activate")){ + String[] split=data.split("/"); + int index=split.length>0?split.length-1:-1; + if(index>-1) return split[index]; + } + return null; + } +} diff --git a/app/src/main/java/com/slidenetwork/Slide/activities/EmailVerify.java b/app/src/main/java/com/slidenetwork/Slide/activities/EmailVerify.java new file mode 100644 index 0000000..20d502f --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/activities/EmailVerify.java @@ -0,0 +1,57 @@ +package com.slidenetwork.Slide.activities; + +import android.app.Activity; +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.TextView; + +import com.slidenetwork.Slide.R; + +public class EmailVerify extends Activity { + + TextView tvTotxt, tvWelcome, tvSubHeader, tvActivateAndroid; + Button btOpenEmail; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_email_verify); + + tvTotxt=(TextView) findViewById(R.id.tvToTxt); + tvWelcome = (TextView) findViewById(R.id.tvWelcome); + tvSubHeader = (TextView) findViewById(R.id.tvSubHeader); + tvActivateAndroid = (TextView) findViewById(R.id.tvActivateAndroid); + + btOpenEmail =(Button) findViewById(R.id.btnOpenEmail); + + Intent intent= getIntent(); + Bundle b = intent.getExtras(); + if(b!=null) + { + String StrEmailAddress =(String) b.get("email"); + String StrSubject = (String) b.get("email_subject"); + String StrTitle = (String) b.get("title"); + String StrMessage = (String) b.get("message"); + + tvTotxt.setText(StrEmailAddress); + tvWelcome.setText(StrTitle); + tvSubHeader.setText(StrMessage); + tvActivateAndroid.setText(StrSubject); + + } + + btOpenEmail.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + //Open Email + Intent intent = new Intent(Intent.ACTION_MAIN); + intent.addCategory(Intent.CATEGORY_APP_EMAIL); + startActivity(intent); + } + }); + + } + +} diff --git a/app/src/main/java/com/slidenetwork/Slide/activities/HomeActivity.java b/app/src/main/java/com/slidenetwork/Slide/activities/HomeActivity.java old mode 100644 new mode 100755 index 8f33a5f..20f813b --- a/app/src/main/java/com/slidenetwork/Slide/activities/HomeActivity.java +++ b/app/src/main/java/com/slidenetwork/Slide/activities/HomeActivity.java @@ -1,108 +1,108 @@ -package com.slidenetwork.Slide.activities; - -import android.app.Activity; -import android.app.FragmentTransaction; -import android.content.Intent; -import android.os.Bundle; -import android.view.View; -import android.widget.Button; - -import com.slidenetwork.Slide.R; -import com.slidenetwork.Slide.fragments.SignupFragment; -import com.slidenetwork.Slide.utils.Constants; -import com.slidenetwork.Slide.utils.SharedPreferencesManager; -import com.slidenetwork.Slide.utils.Toolbox; - -public class HomeActivity extends Activity { - - Button btnGetStarted, btnAddCard; - private WalletState walletstate; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_home); - btnGetStarted = (Button) findViewById(R.id.btnGetStarted); - btnGetStarted.setVisibility(View.GONE); - btnAddCard = (Button) findViewById(R.id.btnAddCard); - btnAddCard.setVisibility(View.GONE); - - String Token = SharedPreferencesManager.getString(HomeActivity.this, Constants.PREFS_AUTHTOKEND, ""); - Toolbox.writeToLog("Home Activity Token " + Token); - - walletstate = WalletState.WalletStateInitial; - Intent intent = getIntent(); - Bundle b = intent.getExtras(); - if (b != null) { - String StrWalletState = (String) b.get("walletState"); - if (StrWalletState.equalsIgnoreCase("WalletStateCheckUser")) { - walletstate = WalletState.WalletStateCheckUser; - btnAddCard.setVisibility(View.VISIBLE); - setNextState(); - } - } else { - //If Token is Available then Change the Wallet State else show Default Screen - if (Token.length() > 0) { - walletstate = WalletState.WalletStateFetchUser; - btnAddCard.setVisibility(View.VISIBLE); - setNextState(); - } else { - setNextState(); - } - } - - - // On Get Started Click Open the ActionSheeet for Login Type - btnGetStarted.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) - { - SignupFragment sf = new SignupFragment(); - FragmentTransaction transaction = getFragmentManager().beginTransaction(); - transaction.add(R.id.SignInActionSheet, sf); - transaction.commit(); - } - }); - - } - - public void setNextState(){ - - if(walletstate == WalletState.WalletStateInitial || walletstate == WalletState.WalletStateNonSecure){ - btnGetStarted.setVisibility(View.VISIBLE); - } else if (walletstate == WalletState.WalletStateCheckUser) { - String Token = SharedPreferencesManager.getString(HomeActivity.this, Constants.PREFS_AUTHTOKEND, ""); - if (Token.length() > 0) { - walletstate = WalletState.WalletStateFetchUser; - setNextState(); - } - } else if (walletstate == WalletState.WalletStateFetchUser) { - - - } else if (walletstate == WalletState.WalletStateFetchAndCheckCards) { - - - } - - } - - - public enum WalletState { - WalletStateInitial, - WalletStateCheckSlideToken, - WalletStateNonSecure, - WalletStateFetchFacebookAccessToken, - WalletStateFetchGoogleAccessToken, - WalletStateRefreshToken, - WalletStateCheckUser, - WalletStateFetchUser, - WalletStateFetchAndCheckCards, - WalletStateEmptyWallet, - WalletStateShowWallet, - WalletStateCardDetail, - WalletStatePayNow, - WalletStateShowTerms - } - - -} +package com.slidenetwork.Slide.activities; + +import android.app.Activity; +import android.app.FragmentTransaction; +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; + +import com.slidenetwork.Slide.R; +import com.slidenetwork.Slide.fragments.SignupFragment; +import com.slidenetwork.Slide.utils.Constants; +import com.slidenetwork.Slide.utils.SharedPreferencesManager; +import com.slidenetwork.Slide.utils.Toolbox; + +public class HomeActivity extends Activity { + + Button btnGetStarted, btnAddCard; + private WalletState walletstate; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_home); + btnGetStarted = (Button) findViewById(R.id.btnGetStarted); + btnGetStarted.setVisibility(View.GONE); + btnAddCard = (Button) findViewById(R.id.btnAddCard); + btnAddCard.setVisibility(View.GONE); + + String Token = SharedPreferencesManager.getString(HomeActivity.this, Constants.PREFS_AUTHTOKEND, ""); + Toolbox.writeToLog("Home Activity Token " + Token); + + walletstate = WalletState.WalletStateInitial; + Intent intent = getIntent(); + Bundle b = intent.getExtras(); + if (b != null) { + String StrWalletState = (String) b.get("walletState"); + if (StrWalletState.equalsIgnoreCase("WalletStateCheckUser")) { + walletstate = WalletState.WalletStateCheckUser; + btnAddCard.setVisibility(View.VISIBLE); + setNextState(); + } + } else { + //If Token is Available then Change the Wallet State else show Default Screen + if (Token.length() > 0) { + walletstate = WalletState.WalletStateFetchUser; + btnAddCard.setVisibility(View.VISIBLE); + setNextState(); + } else { + setNextState(); + } + } + + + // On Get Started Click Open the ActionSheeet for Login Type + btnGetStarted.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) + { + SignupFragment sf = new SignupFragment(); + FragmentTransaction transaction = getFragmentManager().beginTransaction(); + transaction.add(R.id.SignInActionSheet, sf); + transaction.commit(); + } + }); + + } + + public void setNextState(){ + + if(walletstate == WalletState.WalletStateInitial || walletstate == WalletState.WalletStateNonSecure){ + btnGetStarted.setVisibility(View.VISIBLE); + } else if (walletstate == WalletState.WalletStateCheckUser) { + String Token = SharedPreferencesManager.getString(HomeActivity.this, Constants.PREFS_AUTHTOKEND, ""); + if (Token.length() > 0) { + walletstate = WalletState.WalletStateFetchUser; + setNextState(); + } + } else if (walletstate == WalletState.WalletStateFetchUser) { + + + } else if (walletstate == WalletState.WalletStateFetchAndCheckCards) { + + + } + + } + + + public enum WalletState { + WalletStateInitial, + WalletStateCheckSlideToken, + WalletStateNonSecure, + WalletStateFetchFacebookAccessToken, + WalletStateFetchGoogleAccessToken, + WalletStateRefreshToken, + WalletStateCheckUser, + WalletStateFetchUser, + WalletStateFetchAndCheckCards, + WalletStateEmptyWallet, + WalletStateShowWallet, + WalletStateCardDetail, + WalletStatePayNow, + WalletStateShowTerms + } + + +} diff --git a/app/src/main/java/com/slidenetwork/Slide/activities/SigninWithEmailActivity.java b/app/src/main/java/com/slidenetwork/Slide/activities/SigninWithEmailActivity.java new file mode 100755 index 0000000..9b5ee20 --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/activities/SigninWithEmailActivity.java @@ -0,0 +1,192 @@ +package com.slidenetwork.Slide.activities; + +import android.app.Activity; +import android.content.Intent; +import android.os.Bundle; +import android.text.Editable; +import android.text.TextWatcher; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.Toast; + +import com.slidenetwork.Slide.R; +import com.slidenetwork.Slide.api.APIGetToken; +import com.slidenetwork.Slide.api.entities.APIPatchToken; +import com.slidenetwork.Slide.api.entities.email_token_response.EmailTokenResponse; +import com.slidenetwork.Slide.api.entities.patch_token.PatchTokenResponse; +import com.slidenetwork.Slide.utils.Constants; +import com.slidenetwork.Slide.utils.SharedPreferencesManager; +import com.slidenetwork.Slide.utils.Toolbox; +import com.slidenetwork.Slide.utils.Utility; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.List; + +import retrofit.Callback; +import retrofit.RetrofitError; +import retrofit.client.Header; +import retrofit.client.Response; +import retrofit.mime.TypedByteArray; + + +public class SigninWithEmailActivity extends Activity { + + + EditText emailValidate; + Callback emailTokenResponseCallback = new Callback() { + @Override + public void success(EmailTokenResponse o, Response response) { + Toolbox.writeToLog("Retrofit response success" + response.getBody()); + String token_id = o.getData().getId(); + SharedPreferencesManager.writeString(SigninWithEmailActivity.this, Constants.PREFS_TOKENID, token_id); + printHeaders(response.getHeaders()); + JSONObject ResponseData = new JSONObject(); + JSONObject metaObj = new JSONObject(); + JSONArray messageArr = new JSONArray(); + JSONObject messageObj = new JSONObject(); + JSONObject userDetailsObj = new JSONObject(); + + + try { + ResponseData = new JSONObject(new String(((TypedByteArray) response.getBody()).getBytes())); + Toolbox.writeToLog("Retrofit response Status " + ResponseData); + metaObj = ResponseData.getJSONObject("meta"); + messageArr = metaObj.getJSONArray("messages"); + messageObj = messageArr.getJSONObject(0); + + + } catch (JSONException e) { + e.printStackTrace(); + } + + + if (response.getStatus() == 202) { + Intent intent = new Intent(getBaseContext(), EmailVerify.class); + try { + userDetailsObj = messageObj.getJSONObject("user_detail"); + intent.putExtra("email", userDetailsObj.getString("email")); + intent.putExtra("email_subject", userDetailsObj.getString("email_subject")); + intent.putExtra("title", userDetailsObj.getString("title")); + intent.putExtra("message", userDetailsObj.getString("message")); + startActivity(intent); + } catch (JSONException e) { + e.printStackTrace(); + } + + } else if (response.getStatus() == 201) { + + SharedPreferencesManager.writeString(SigninWithEmailActivity.this, Constants.PREFS_AUTHTOKEND, o.getData().getAccess_token()); + SharedPreferencesManager.writeString(SigninWithEmailActivity.this, Constants.PREFS_TOKEN_CREATED_AT, o.getData().getCreated_at()); + SharedPreferencesManager.writeString(SigninWithEmailActivity.this, Constants.PREFS_TOKEN_EXPIRES_AT, o.getData().getExpires_at()); + SharedPreferencesManager.writeString(SigninWithEmailActivity.this, Constants.PREFS_REFRESH_TOKEN, o.getData().getRefresh_token()); + + GotoHomeActivity(); + } + + } + + @Override + public void failure(RetrofitError error) { + Toolbox.writeToLog("Retrofit errror " + error); + printHeaders(error.getResponse().getHeaders()); + } + }; + Callback patchTokenResponseCallback = new Callback() { + @Override + public void success(PatchTokenResponse patchTokenResponse, Response response) { + Toolbox.writeToLog("Retrofit response success" + response.getStatus()); + printHeaders(response.getHeaders()); + SharedPreferencesManager.writeString(SigninWithEmailActivity.this, Constants.PREFS_AUTHTOKEND, patchTokenResponse.getData().getAccess_token()); + SharedPreferencesManager.writeString(SigninWithEmailActivity.this, Constants.PREFS_TOKEN_CREATED_AT, patchTokenResponse.getData().getCreated_at()); + SharedPreferencesManager.writeString(SigninWithEmailActivity.this, Constants.PREFS_TOKEN_EXPIRES_AT, patchTokenResponse.getData().getExpires_at()); + SharedPreferencesManager.writeString(SigninWithEmailActivity.this, Constants.PREFS_REFRESH_TOKEN, patchTokenResponse.getData().getRefresh_token()); + + GotoHomeActivity(); + + + } + + @Override + public void failure(RetrofitError error) { + Toolbox.writeToLog("Retrofit errror " + error); + printHeaders(error.getResponse().getHeaders()); + + } + }; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_email_signin); + + int SDK_INT = android.os.Build.VERSION.SDK_INT; + Intent in = getIntent(); + String data = in != null ? in.getStringExtra(Constants.DEEPLINK_TOKEN) : null; + if (data != null) { + Toolbox.writeToLog("Token from browser 3 " + data); + String token_id = SharedPreferencesManager.getString(this, Constants.PREFS_TOKENID, null); + if (token_id != null) + APIPatchToken.patchAuthToken(token_id, Toolbox.getPatchRequest(data), patchTokenResponseCallback); + } else { + emailValidate = (EditText) findViewById(R.id.etEmail); + + Button btnClose = (Button) findViewById(R.id.btnClose); + btnClose.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + + final Button btnNext = (Button) findViewById(R.id.btnNext); + btnNext.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + String email = emailValidate.getText().toString().trim(); + if (Utility.isEmailValid(email)) { + APIGetToken.getAuthToken(Toolbox.getTokenRequest(SigninWithEmailActivity.this, email), emailTokenResponseCallback); + } else { + Toast.makeText(getApplicationContext(), "Please enter valid email Id.", Toast.LENGTH_LONG).show(); + } + } + }); + + + emailValidate.addTextChangedListener(new TextWatcher() { + @Override + public void afterTextChanged(Editable arg0) { + boolean isReady = emailValidate.getText().toString().length() > 0; + btnNext.setEnabled(isReady); + } + + @Override + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + } + + @Override + public void onTextChanged(CharSequence s, int start, int before, int count) { + } + }); + } + + } + + private void printHeaders(List
headers){ + for(Header h:headers){ + Toolbox.writeToLog("Retro Headers "+h.getName()+":"+h.getValue()); + } + } + + + public void GotoHomeActivity() { + Intent homeIntent = new Intent(getBaseContext(), HomeActivity.class); + homeIntent.putExtra("walletState", "WalletStateCheckUser"); + startActivity(homeIntent); + } + +} + diff --git a/app/src/main/java/com/slidenetwork/Slide/api/APIGetToken.java b/app/src/main/java/com/slidenetwork/Slide/api/APIGetToken.java new file mode 100644 index 0000000..a39a89e --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/api/APIGetToken.java @@ -0,0 +1,33 @@ +package com.slidenetwork.Slide.api; + +import com.slidenetwork.Slide.api.api_interfaces.IApiGetToken; +import com.slidenetwork.Slide.api.entities.TokenRequest; +import com.slidenetwork.Slide.api.entities.email_token_response.EmailTokenResponse; +import com.slidenetwork.Slide.utils.Constants; +import com.slidenetwork.Slide.utils.Toolbox; + +import retrofit.Callback; +import retrofit.RetrofitError; +import retrofit.client.Response; + +public final class APIGetToken extends APIRoot { + + public static void getAuthToken(TokenRequest request, final Callback callback){ + IApiGetToken token=createService(IApiGetToken.class,Constants.BASE_URL); + + token.getToken(request, new Callback() { + @Override + public void success(EmailTokenResponse s, Response response) { + Toolbox.writeToLog("Retrofit " + response.getHeaders()); + callback.success(s, response); + } + + @Override + public void failure(RetrofitError error){ + callback.failure(error); + } + }); + + + } +} diff --git a/app/src/main/java/com/slidenetwork/Slide/api/APIRoot.java b/app/src/main/java/com/slidenetwork/Slide/api/APIRoot.java new file mode 100644 index 0000000..25163da --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/api/APIRoot.java @@ -0,0 +1,34 @@ +package com.slidenetwork.Slide.api; + +import com.slidenetwork.Slide.BuildConfig; +import com.slidenetwork.Slide.utils.Utility; +import com.squareup.okhttp.OkHttpClient; + +import retrofit.RequestInterceptor; +import retrofit.RestAdapter; +import retrofit.client.OkClient; + +public class APIRoot { + public static S createService(Class serviceClass, String baseUrl) { + OkHttpClient client=new OkHttpClient(); + client.setFollowRedirects(true); + + RestAdapter.Builder builder = new RestAdapter.Builder() + .setEndpoint(baseUrl) + .setClient(new OkClient(client)) + .setRequestInterceptor(new RequestInterceptor() { + @Override + public void intercept(RequestFacade request) { + request.addHeader("Content-Type", "application/json"); + request.addHeader("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B410 Safari/600.1.4 [snv/1.1.6;snd/iPhone7,2;sno/8.1;snc/310_AT&T]"); + request.addHeader("Accept", Utility.getAccept()); + } + }); + if(BuildConfig.DEBUG) builder.setLogLevel(RestAdapter.LogLevel.FULL); +// .setConverter(new JacksonConverter()); + + RestAdapter adapter = builder.build(); + + return adapter.create(serviceClass); + } +} diff --git a/app/src/main/java/com/slidenetwork/Slide/api/DataFetchEvent.java b/app/src/main/java/com/slidenetwork/Slide/api/DataFetchEvent.java new file mode 100644 index 0000000..b24f912 --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/api/DataFetchEvent.java @@ -0,0 +1,86 @@ +package com.slidenetwork.Slide.api; + +public final class DataFetchEvent { + + private long requestTimestamp; + private T dataObject; + private String url; + private String message; + private int requestId; + + /** + * Instantiates a new Data fetch event. + * + * @param requestId the request id + * @param requestTimestamp the request timestamp + * @param url the url + */ + public DataFetchEvent(int requestId, long requestTimestamp, String url) { + this.requestId = requestId; + this.requestTimestamp = requestTimestamp; + this.url = url; + } + + /** + * Instantiates a new Data fetch event. + * + * @param requestId the request id + * @param requestTimestamp the request timestamp + * @param url the url + * @param dataObject the data object + * @param message the message + */ + public DataFetchEvent(int requestId, long requestTimestamp, String url, T dataObject, String message) { + this.requestId = requestId; + this.requestTimestamp = requestTimestamp; + this.dataObject = dataObject; + this.url = url; + this.message = message; + } + + /** + * Gets url. + * + * @return the url + */ + public String getUrl() { + return url; + } + + + /** + * Gets message. + * + * @return the message + */ + public String getMessage() { + return message; + } + + /** + * Gets request timestamp. + * + * @return the request timestamp + */ + public long getRequestTimestamp() { + return requestTimestamp; + } + + /** + * Gets data object. + * + * @return the data object + */ + public T getDataObject() { + return dataObject; + } + + /** + * Gets request id. + * + * @return the request id + */ + public int getRequestId() { + return requestId; + } +} diff --git a/app/src/main/java/com/slidenetwork/Slide/api/DataFetchListener.java b/app/src/main/java/com/slidenetwork/Slide/api/DataFetchListener.java new file mode 100644 index 0000000..b90a4e8 --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/api/DataFetchListener.java @@ -0,0 +1,13 @@ +package com.slidenetwork.Slide.api; + +import retrofit.Callback; + + +public interface DataFetchListener extends Callback { + + void onStart(DataFetchEvent event); + + + enum FailureType {NO_INTERNET, PARSE_ERROR, NETWORK_ERROR, DB_ERROR} + +} diff --git a/app/src/main/java/com/slidenetwork/Slide/api/api_interfaces/IApiGetToken.java b/app/src/main/java/com/slidenetwork/Slide/api/api_interfaces/IApiGetToken.java new file mode 100644 index 0000000..afa5aa0 --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/api/api_interfaces/IApiGetToken.java @@ -0,0 +1,13 @@ +package com.slidenetwork.Slide.api.api_interfaces; + +import com.slidenetwork.Slide.api.entities.TokenRequest; +import com.slidenetwork.Slide.api.entities.email_token_response.EmailTokenResponse; + +import retrofit.Callback; +import retrofit.http.Body; +import retrofit.http.POST; + +public interface IApiGetToken { + @POST("/tokens") + void getToken(@Body TokenRequest request, Callback listener); +} diff --git a/app/src/main/java/com/slidenetwork/Slide/api/api_interfaces/IApiPatchToken.java b/app/src/main/java/com/slidenetwork/Slide/api/api_interfaces/IApiPatchToken.java new file mode 100644 index 0000000..6b0c4a3 --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/api/api_interfaces/IApiPatchToken.java @@ -0,0 +1,15 @@ +package com.slidenetwork.Slide.api.api_interfaces; + +import com.slidenetwork.Slide.api.entities.patch_token.PatchTokenRequest; +import com.slidenetwork.Slide.api.entities.patch_token.PatchTokenResponse; + +import retrofit.Callback; +import retrofit.http.Body; +import retrofit.http.PATCH; +import retrofit.http.Path; + + +public interface IApiPatchToken { + @PATCH("/tokens/{tokenID}") + void patchToken(@Path("tokenID")String token,@Body PatchTokenRequest request, Callback listener); +} \ No newline at end of file diff --git a/app/src/main/java/com/slidenetwork/Slide/api/entities/APIPatchToken.java b/app/src/main/java/com/slidenetwork/Slide/api/entities/APIPatchToken.java new file mode 100644 index 0000000..725964f --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/api/entities/APIPatchToken.java @@ -0,0 +1,29 @@ +package com.slidenetwork.Slide.api.entities; + +import com.slidenetwork.Slide.api.APIRoot; +import com.slidenetwork.Slide.api.api_interfaces.IApiPatchToken; +import com.slidenetwork.Slide.api.entities.patch_token.PatchTokenRequest; +import com.slidenetwork.Slide.api.entities.patch_token.PatchTokenResponse; +import com.slidenetwork.Slide.utils.Constants; + +import retrofit.Callback; +import retrofit.RetrofitError; +import retrofit.client.Response; + + +public class APIPatchToken extends APIRoot { + public static void patchAuthToken(final String token,PatchTokenRequest req, final Callback listener){ + IApiPatchToken patchReq=createService(IApiPatchToken.class, Constants.BASE_URL); + patchReq.patchToken(token, req, new Callback() { + @Override + public void success(PatchTokenResponse o, Response response) { + listener.success(o,response); + } + + @Override + public void failure(RetrofitError error) { + listener.failure(error); + } + }); + } +} diff --git a/app/src/main/java/com/slidenetwork/Slide/api/entities/TokenRequest.java b/app/src/main/java/com/slidenetwork/Slide/api/entities/TokenRequest.java new file mode 100644 index 0000000..3403935 --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/api/entities/TokenRequest.java @@ -0,0 +1,38 @@ +package com.slidenetwork.Slide.api.entities; + + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "data" +}) +public class TokenRequest { + + @JsonProperty("data") + private TokenRequestData data; + + /** + * + * @return + * The data + */ + @JsonProperty("data") + public TokenRequestData getData() { + return data; + } + + /** + * + * @param data + * The data + */ + @JsonProperty("data") + public void setData(TokenRequestData data) { + this.data = data; + } + + +} diff --git a/app/src/main/java/com/slidenetwork/Slide/api/entities/TokenRequestData.java b/app/src/main/java/com/slidenetwork/Slide/api/entities/TokenRequestData.java new file mode 100644 index 0000000..0fb5fbf --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/api/entities/TokenRequestData.java @@ -0,0 +1,225 @@ +package com.slidenetwork.Slide.api.entities; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + +import java.util.ArrayList; +import java.util.List; + +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "type", + "auth_method", + "auth_token", + "email", + "device_name", + "device_display", + "device_identifier", + "local_time", + "locale" +}) +public class TokenRequestData { + + @JsonProperty("type") + private String type; + @JsonProperty("auth_method") + private String auth_method; + @JsonProperty("auth_token") + private String auth_token; + @JsonProperty("email") + private String email; + @JsonProperty("device_name") + private String device_name; + @JsonProperty("device_display") + private List device_display = new ArrayList(); + @JsonProperty("device_identifier") + private String device_identifier; + @JsonProperty("local_time") + private String local_time; + @JsonProperty("locale") + private String locale; + + /** + * + * @return + * The type + */ + @JsonProperty("type") + public String getType() { + return type; + } + + /** + * + * @param type + * The type + */ + @JsonProperty("type") + public void setType(String type) { + this.type = type; + } + + /** + * + * @return + * The authMethod + */ + @JsonProperty("auth_method") + public String getAuthMethod() { + return auth_method; + } + + /** + * + * @param authMethod + * The auth_method + */ + @JsonProperty("auth_method") + public void setAuthMethod(String authMethod) { + this.auth_method = authMethod; + } + + /** + * + * @return + * The authToken + */ + @JsonProperty("auth_token") + public String getAuthToken() { + return auth_token; + } + + /** + * + * @param authToken + * The auth_token + */ + @JsonProperty("auth_token") + public void setAuthToken(String authToken) { + this.auth_token = authToken; + } + + /** + * + * @return + * The email + */ + @JsonProperty("email") + public String getEmail() { + return email; + } + + /** + * + * @param email + * The email + */ + @JsonProperty("email") + public void setEmail(String email) { + this.email = email; + } + + /** + * + * @return + * The deviceName + */ + @JsonProperty("device_name") + public String getDeviceName() { + return device_name; + } + + /** + * + * @param deviceName + * The device_name + */ + @JsonProperty("device_name") + public void setDeviceName(String deviceName) { + this.device_name = deviceName; + } + + /** + * + * @return + * The deviceDisplay + */ + @JsonProperty("device_display") + public List getDeviceDisplay() { + return device_display; + } + + /** + * + * @param deviceDisplay + * The device_display + */ + @JsonProperty("device_display") + public void setDeviceDisplay(List deviceDisplay) { + this.device_display = deviceDisplay; + } + + /** + * + * @return + * The deviceIdentifier + */ + @JsonProperty("device_identifier") + public String getDeviceIdentifier() { + return device_identifier; + } + + /** + * + * @param deviceIdentifier + * The device_identifier + */ + @JsonProperty("device_identifier") + public void setDeviceIdentifier(String deviceIdentifier) { + this.device_identifier = deviceIdentifier; + } + + /** + * + * @return + * The localTime + */ + @JsonProperty("local_time") + public String getLocalTime() { + return local_time; + } + + /** + * + * @param localTime + * The local_time + */ + @JsonProperty("local_time") + public void setLocalTime(String localTime) { + this.local_time = localTime; + } + + /** + * + * @return + * The locale + */ + @JsonProperty("locale") + public String getLocale() { + return locale; + } + + /** + * + * @param locale + * The locale + */ + @JsonProperty("locale") + public void setLocale(String locale) { + this.locale = locale; + } + + + +} diff --git a/app/src/main/java/com/slidenetwork/Slide/api/entities/email_token_response/EmailTokenData.java b/app/src/main/java/com/slidenetwork/Slide/api/entities/email_token_response/EmailTokenData.java new file mode 100644 index 0000000..ddad62d --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/api/entities/email_token_response/EmailTokenData.java @@ -0,0 +1,200 @@ +package com.slidenetwork.Slide.api.entities.email_token_response; + + +public class EmailTokenData { + + + private String id; + private String access_token; + private String refresh_token; + private Boolean active; + private String expires_at; + private String updated_at; + private String created_at; + private String type; + private String token_type; + private Links links; + + /** + * + * @return + * The id + */ + public String getId() { + return id; + } + + /** + * + * @param id + * The id + */ + public void setId(String id) { + this.id = id; + } + + /** + * + * @return + * The access_token + */ + public String getAccess_token() { + return access_token; + } + + /** + * + * @param access_token + * The access_token + */ + public void setAccess_token(String access_token) { + this.access_token = access_token; + } + + /** + * + * @return + * The refresh_token + */ + public String getRefresh_token() { + return refresh_token; + } + + /** + * + * @param refresh_token + * The refresh_token + */ + public void setRefresh_token(String refresh_token) { + this.refresh_token = refresh_token; + } + + /** + * + * @return + * The active + */ + public Boolean getActive() { + return active; + } + + /** + * + * @param active + * The active + */ + public void setActive(Boolean active) { + this.active = active; + } + + /** + * + * @return + * The expires_at + */ + public String getExpires_at() { + return expires_at; + } + + /** + * + * @param expires_at + * The expires_at + */ + public void setExpires_at(String expires_at) { + this.expires_at = expires_at; + } + + /** + * + * @return + * The updated_at + */ + public String getUpdated_at() { + return updated_at; + } + + /** + * + * @param updated_at + * The updated_at + */ + public void setUpdated_at(String updated_at) { + this.updated_at = updated_at; + } + + /** + * + * @return + * The created_at + */ + public String getCreated_at() { + return created_at; + } + + /** + * + * @param created_at + * The created_at + */ + public void setCreated_at(String created_at) { + this.created_at = created_at; + } + + /** + * + * @return + * The type + */ + public String getType() { + return type; + } + + /** + * + * @param type + * The type + */ + public void setType(String type) { + this.type = type; + } + + /** + * + * @return + * The token_type + */ + public String getToken_type() { + return token_type; + } + + /** + * + * @param token_type + * The token_type + */ + public void setToken_type(String token_type) { + this.token_type = token_type; + } + + /** + * + * @return + * The links + */ + public Links getLinks() { + return links; + } + + /** + * + * @param links + * The links + */ + public void setLinks(Links links) { + this.links = links; + } + + + +} \ No newline at end of file diff --git a/app/src/main/java/com/slidenetwork/Slide/api/entities/email_token_response/EmailTokenResponse.java b/app/src/main/java/com/slidenetwork/Slide/api/entities/email_token_response/EmailTokenResponse.java new file mode 100644 index 0000000..5f18cc6 --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/api/entities/email_token_response/EmailTokenResponse.java @@ -0,0 +1,67 @@ +package com.slidenetwork.Slide.api.entities.email_token_response; + +import java.util.HashMap; +import java.util.Map; + +//-----------------------------------com.example.Example.java----------------------------------- + + +public class EmailTokenResponse { + + private EmailTokenData data; + private Meta meta; + private Map additionalProperties = new HashMap(); + + /** + * + * @return + * The data + */ + public EmailTokenData getData() { + return data; + } + + /** + * + * @param data + * The data + */ + public void setData(EmailTokenData data) { + this.data = data; + } + + /** + * + * @return + * The meta + */ + public Meta getMeta() { + return meta; + } + + /** + * + * @param meta + * The meta + */ + public void setMeta(Meta meta) { + this.meta = meta; + } + + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + public void setAdditionalProperty(String name, Object value) { + this.additionalProperties.put(name, value); + } + +} +//-----------------------------------com.example.Links.java----------------------------------- + +//-----------------------------------com.example.Message.java----------------------------------- + + +//-----------------------------------com.example.Meta.java----------------------------------- + + diff --git a/app/src/main/java/com/slidenetwork/Slide/api/entities/email_token_response/Links.java b/app/src/main/java/com/slidenetwork/Slide/api/entities/email_token_response/Links.java new file mode 100644 index 0000000..81606f9 --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/api/entities/email_token_response/Links.java @@ -0,0 +1,44 @@ +package com.slidenetwork.Slide.api.entities.email_token_response; + + +public class Links { + + private String self; + private String device; + private String user; + + /** + * + * @return + * The self + */ + public String getSelf() { + return self; + } + + /** + * + * @param self + * The self + */ + public void setSelf(String self) { + this.self = self; + } + + public String getUser() { + return user; + } + + public void setUser(String user) { + this.user = user; + } + + public String getDevice() { + return device; + } + + public void setDevice(String device) { + this.device = device; + } +} + diff --git a/app/src/main/java/com/slidenetwork/Slide/api/entities/email_token_response/Message.java b/app/src/main/java/com/slidenetwork/Slide/api/entities/email_token_response/Message.java new file mode 100644 index 0000000..ca84e73 --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/api/entities/email_token_response/Message.java @@ -0,0 +1,153 @@ +package com.slidenetwork.Slide.api.entities.email_token_response; + +import java.util.HashMap; +import java.util.Map; + + +public class Message { + + private String code; + private String detail; + private String email; + private String email_subject; + private String source; + private String title; + private User_detail user_detail; + private Map additionalProperties = new HashMap(); + + + /** + * + * @return + * The code + */ + public String getCode() { + return code; + } + + /** + * + * @param code + * The code + */ + public void setCode(String code) { + this.code = code; + } + + /** + * + * @return + * The detail + */ + public String getDetail() { + return detail; + } + + /** + * + * @param detail + * The detail + */ + public void setDetail(String detail) { + this.detail = detail; + } + + /** + * + * @return + * The email + */ + public String getEmail() { + return email; + } + + /** + * + * @param email + * The email + */ + public void setEmail(String email) { + this.email = email; + } + + /** + * + * @return + * The email_subject + */ + public String getEmail_subject() { + return email_subject; + } + + /** + * + * @param email_subject + * The email_subject + */ + public void setEmail_subject(String email_subject) { + this.email_subject = email_subject; + } + + /** + * + * @return + * The source + */ + public String getSource() { + return source; + } + + /** + * + * @param source + * The source + */ + public void setSource(String source) { + this.source = source; + } + + /** + * + * @return + * The title + */ + public String getTitle() { + return title; + } + + /** + * + * @param title + * The title + */ + public void setTitle(String title) { + this.title = title; + } + + /** + * + * @return + * The user_detail + */ + public User_detail getUser_detail() { + return user_detail; + } + + /** + * + * @param user_detail + * The user_detail + */ + public void setUser_detail(User_detail user_detail) { + this.user_detail = user_detail; + } + + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + public void setAdditionalProperty(String name, Object value) { + this.additionalProperties.put(name, value); + } + +} diff --git a/app/src/main/java/com/slidenetwork/Slide/api/entities/email_token_response/Meta.java b/app/src/main/java/com/slidenetwork/Slide/api/entities/email_token_response/Meta.java new file mode 100644 index 0000000..5ec8de6 --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/api/entities/email_token_response/Meta.java @@ -0,0 +1,31 @@ +package com.slidenetwork.Slide.api.entities.email_token_response; + +import java.util.ArrayList; +import java.util.List; + + +public class Meta { + + private List messages = new ArrayList(); + + /** + * + * @return + * The messages + */ + public List getMessages() { + return messages; + } + + /** + * + * @param messages + * The messages + */ + public void setMessages(List messages) { + this.messages = messages; + } + + + +} diff --git a/app/src/main/java/com/slidenetwork/Slide/api/entities/email_token_response/User_detail.java b/app/src/main/java/com/slidenetwork/Slide/api/entities/email_token_response/User_detail.java new file mode 100644 index 0000000..a9f12b4 --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/api/entities/email_token_response/User_detail.java @@ -0,0 +1,84 @@ +package com.slidenetwork.Slide.api.entities.email_token_response; + +//-----------------------------------com.example.User_detail.java----------------------------------- +public class User_detail { + + private String email; + private String email_subject; + private String message; + private String title; + + /** + * + * @return + * The email + */ + public String getEmail() { + return email; + } + + /** + * + * @param email + * The email + */ + public void setEmail(String email) { + this.email = email; + } + + /** + * + * @return + * The email_subject + */ + public String getEmail_subject() { + return email_subject; + } + + /** + * + * @param email_subject + * The email_subject + */ + public void setEmail_subject(String email_subject) { + this.email_subject = email_subject; + } + + /** + * + * @return + * The message + */ + public String getMessage() { + return message; + } + + /** + * + * @param message + * The message + */ + public void setMessage(String message) { + this.message = message; + } + + /** + * + * @return + * The title + */ + public String getTitle() { + return title; + } + + /** + * + * @param title + * The title + */ + public void setTitle(String title) { + this.title = title; + } + + +} diff --git a/app/src/main/java/com/slidenetwork/Slide/api/entities/error/Error.java b/app/src/main/java/com/slidenetwork/Slide/api/entities/error/Error.java new file mode 100644 index 0000000..b8e6ab3 --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/api/entities/error/Error.java @@ -0,0 +1,103 @@ +package com.slidenetwork.Slide.api.entities.error; + +public class Error { + + private String code; + private String detail; + private Meta meta; + private String source; + private String title; + + /** + * + * @return + * The code + */ + public String getCode() { + return code; + } + + /** + * + * @param code + * The code + */ + public void setCode(String code) { + this.code = code; + } + + /** + * + * @return + * The detail + */ + public String getDetail() { + return detail; + } + + /** + * + * @param detail + * The detail + */ + public void setDetail(String detail) { + this.detail = detail; + } + + /** + * + * @return + * The meta + */ + public Meta getMeta() { + return meta; + } + + /** + * + * @param meta + * The meta + */ + public void setMeta(Meta meta) { + this.meta = meta; + } + + /** + * + * @return + * The source + */ + public String getSource() { + return source; + } + + /** + * + * @param source + * The source + */ + public void setSource(String source) { + this.source = source; + } + + /** + * + * @return + * The title + */ + public String getTitle() { + return title; + } + + /** + * + * @param title + * The title + */ + public void setTitle(String title) { + this.title = title; + } + + + +} diff --git a/app/src/main/java/com/slidenetwork/Slide/api/entities/error/ErrorResponse.java b/app/src/main/java/com/slidenetwork/Slide/api/entities/error/ErrorResponse.java new file mode 100644 index 0000000..2736df0 --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/api/entities/error/ErrorResponse.java @@ -0,0 +1,35 @@ +package com.slidenetwork.Slide.api.entities.error; + +import java.util.ArrayList; +import java.util.List; + +public class ErrorResponse { + + private List errors = new ArrayList(); + + /** + * + * @return + * The errors + */ + public List getErrors() { + return errors; + } + + /** + * + * @param errors + * The errors + */ + public void setErrors(List errors) { + this.errors = errors; + } + + +} +//-----------------------------------com.example.Meta.java----------------------------------- + +//-----------------------------------com.example.User_detail.java----------------------------------- + + + diff --git a/app/src/main/java/com/slidenetwork/Slide/api/entities/error/Meta.java b/app/src/main/java/com/slidenetwork/Slide/api/entities/error/Meta.java new file mode 100644 index 0000000..527506f --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/api/entities/error/Meta.java @@ -0,0 +1,28 @@ +package com.slidenetwork.Slide.api.entities.error; + + +public class Meta { + + private User_detail user_detail; + + /** + * + * @return + * The user_detail + */ + public User_detail getUser_detail() { + return user_detail; + } + + /** + * + * @param user_detail + * The user_detail + */ + public void setUser_detail(User_detail user_detail) { + this.user_detail = user_detail; + } + + + +} diff --git a/app/src/main/java/com/slidenetwork/Slide/api/entities/error/User_detail.java b/app/src/main/java/com/slidenetwork/Slide/api/entities/error/User_detail.java new file mode 100644 index 0000000..2d09b75 --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/api/entities/error/User_detail.java @@ -0,0 +1,26 @@ +package com.slidenetwork.Slide.api.entities.error; + + +public class User_detail { + + private String title; + /** + * + * @return + * The title + */ + public String getTitle() { + return title; + } + + /** + * + * @param title + * The title + */ + public void setTitle(String title) { + this.title = title; + } + + +} diff --git a/app/src/main/java/com/slidenetwork/Slide/api/entities/patch_token/PatchTokenRequest.java b/app/src/main/java/com/slidenetwork/Slide/api/entities/patch_token/PatchTokenRequest.java new file mode 100644 index 0000000..bbdae8d --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/api/entities/patch_token/PatchTokenRequest.java @@ -0,0 +1,30 @@ +package com.slidenetwork.Slide.api.entities.patch_token; + + +//-----------------------------------com.example.PatchTokenRequest.java----------------------------------- + +public class PatchTokenRequest { + + private PatchTokenRequestData data; + + /** + * + * @return + * The data + */ + public PatchTokenRequestData getData() { + return data; + } + + /** + * + * @param data + * The data + */ + public void setData(PatchTokenRequestData data) { + this.data = data; + } + + + +} diff --git a/app/src/main/java/com/slidenetwork/Slide/api/entities/patch_token/PatchTokenRequestData.java b/app/src/main/java/com/slidenetwork/Slide/api/entities/patch_token/PatchTokenRequestData.java new file mode 100644 index 0000000..3684e6b --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/api/entities/patch_token/PatchTokenRequestData.java @@ -0,0 +1,86 @@ +package com.slidenetwork.Slide.api.entities.patch_token; + + +public class PatchTokenRequestData { + + + private String type; + private String auth_method; + private String auth_token; + private String email; + + /** + * + * @return + * The type + */ + public String getType() { + return type; + } + + /** + * + * @param type + * The type + */ + public void setType(String type) { + this.type = type; + } + + /** + * + * @return + * The auth_method + */ + public String getAuth_method() { + return auth_method; + } + + /** + * + * @param auth_method + * The auth_method + */ + public void setAuth_method(String auth_method) { + this.auth_method = auth_method; + } + + /** + * + * @return + * The auth_token + */ + public String getAuth_token() { + return auth_token; + } + + /** + * + * @param auth_token + * The auth_token + */ + public void setAuth_token(String auth_token) { + this.auth_token = auth_token; + } + + /** + * + * @return + * The email + */ + public String getEmail() { + return email; + } + + /** + * + * @param email + * The email + */ + public void setEmail(String email) { + this.email = email; + } + + + +} \ No newline at end of file diff --git a/app/src/main/java/com/slidenetwork/Slide/api/entities/patch_token/PatchTokenResponse.java b/app/src/main/java/com/slidenetwork/Slide/api/entities/patch_token/PatchTokenResponse.java new file mode 100644 index 0000000..a8706d4 --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/api/entities/patch_token/PatchTokenResponse.java @@ -0,0 +1,48 @@ +package com.slidenetwork.Slide.api.entities.patch_token; + + +import com.slidenetwork.Slide.api.entities.email_token_response.Meta; + +public class PatchTokenResponse { + + private PatchTokenResponseData data; + private Meta meta; + + /** + * + * @return + * The data + */ + public PatchTokenResponseData getData() { + return data; + } + + /** + * + * @param data + * The data + */ + public void setData(PatchTokenResponseData data) { + this.data = data; + } + + /** + * + * @return + * The meta + */ + public Meta getMeta() { + return meta; + } + + /** + * + * @param meta + * The meta + */ + public void setMeta(Meta meta) { + this.meta = meta; + } + + +} diff --git a/app/src/main/java/com/slidenetwork/Slide/api/entities/patch_token/PatchTokenResponseData.java b/app/src/main/java/com/slidenetwork/Slide/api/entities/patch_token/PatchTokenResponseData.java new file mode 100644 index 0000000..42f9de3 --- /dev/null +++ b/app/src/main/java/com/slidenetwork/Slide/api/entities/patch_token/PatchTokenResponseData.java @@ -0,0 +1,201 @@ +package com.slidenetwork.Slide.api.entities.patch_token; + +import com.slidenetwork.Slide.api.entities.email_token_response.Links; + + +public class PatchTokenResponseData { + + private String id; + private String access_token; + private String refresh_token; + private Boolean active; + private String expires_at; + private String updated_at; + private String created_at; + private String type; + private String token_type; + private Links links; + + /** + * + * @return + * The id + */ + public String getId() { + return id; + } + + /** + * + * @param id + * The id + */ + public void setId(String id) { + this.id = id; + } + + /** + * + * @return + * The access_token + */ + public String getAccess_token() { + return access_token; + } + + /** + * + * @param access_token + * The access_token + */ + public void setAccess_token(String access_token) { + this.access_token = access_token; + } + + /** + * + * @return + * The refresh_token + */ + public String getRefresh_token() { + return refresh_token; + } + + /** + * + * @param refresh_token + * The refresh_token + */ + public void setRefresh_token(String refresh_token) { + this.refresh_token = refresh_token; + } + + /** + * + * @return + * The active + */ + public Boolean getActive() { + return active; + } + + /** + * + * @param active + * The active + */ + public void setActive(Boolean active) { + this.active = active; + } + + /** + * + * @return + * The expires_at + */ + public String getExpires_at() { + return expires_at; + } + + /** + * + * @param expires_at + * The expires_at + */ + public void setExpires_at(String expires_at) { + this.expires_at = expires_at; + } + + /** + * + * @return + * The updated_at + */ + public String getUpdated_at() { + return updated_at; + } + + /** + * + * @param updated_at + * The updated_at + */ + public void setUpdated_at(String updated_at) { + this.updated_at = updated_at; + } + + /** + * + * @return + * The created_at + */ + public String getCreated_at() { + return created_at; + } + + /** + * + * @param created_at + * The created_at + */ + public void setCreated_at(String created_at) { + this.created_at = created_at; + } + + /** + * + * @return + * The type + */ + public String getType() { + return type; + } + + /** + * + * @param type + * The type + */ + public void setType(String type) { + this.type = type; + } + + /** + * + * @return + * The token_type + */ + public String getToken_type() { + return token_type; + } + + /** + * + * @param token_type + * The token_type + */ + public void setToken_type(String token_type) { + this.token_type = token_type; + } + + /** + * + * @return + * The links + */ + public Links getLinks() { + return links; + } + + /** + * + * @param links + * The links + */ + public void setLinks(Links links) { + this.links = links; + } + + + +} \ No newline at end of file diff --git a/app/src/main/java/com/slidenetwork/Slide/fragments/SignupFragment.java b/app/src/main/java/com/slidenetwork/Slide/fragments/SignupFragment.java index d7acb67..5145f90 100644 --- a/app/src/main/java/com/slidenetwork/Slide/fragments/SignupFragment.java +++ b/app/src/main/java/com/slidenetwork/Slide/fragments/SignupFragment.java @@ -10,6 +10,7 @@ import android.widget.Button; import com.slidenetwork.Slide.R; +import com.slidenetwork.Slide.activities.SigninWithEmailActivity; public class SignupFragment extends Fragment { @@ -35,6 +36,8 @@ public void onClick(View v) { @Override public void onClick(View v){ + Intent fbIntent = new Intent(getActivity(), SigninWithEmailActivity.class); + startActivity(fbIntent); } }); diff --git a/app/src/main/java/com/slidenetwork/Slide/utils/Toolbox.java b/app/src/main/java/com/slidenetwork/Slide/utils/Toolbox.java index 110021c..43d2621 100644 --- a/app/src/main/java/com/slidenetwork/Slide/utils/Toolbox.java +++ b/app/src/main/java/com/slidenetwork/Slide/utils/Toolbox.java @@ -1,8 +1,21 @@ package com.slidenetwork.Slide.utils; +import android.content.Context; import android.support.annotation.NonNull; +import android.telephony.TelephonyManager; import android.util.Log; + +import com.slidenetwork.Slide.api.entities.TokenRequest; +import com.slidenetwork.Slide.api.entities.TokenRequestData; +import com.slidenetwork.Slide.api.entities.patch_token.PatchTokenRequest; +import com.slidenetwork.Slide.api.entities.patch_token.PatchTokenRequestData; + import java.text.DecimalFormat; import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.Locale; +import java.util.TimeZone; public final class Toolbox { @@ -90,4 +103,56 @@ public static boolean writeToLog(int level, String tag, @NonNull String logMessa } } + + public static PatchTokenRequest getPatchRequest(String auth){ + PatchTokenRequest req=new PatchTokenRequest(); + PatchTokenRequestData data=new PatchTokenRequestData(); + data.setAuth_token(auth); + data.setEmail(""); + data.setType(Constants.DEEPLINK_TOKEN); + data.setAuth_method(Constants.AUTHMETHOD.EMAIL.getName()); + req.setData(data); + return req; + } + + public static TokenRequest getTokenRequest(Context context,String email){ + TokenRequest request=new TokenRequest(); + TokenRequestData data=new TokenRequestData(); + data.setAuthMethod(Constants.AUTHMETHOD.EMAIL.getName()); + data.setAuthToken(""); +// jsonParam.put("auth_token", ""); + data.setEmail(email); + data.setDeviceName(Utility.getDeviceName()); + ArrayList nums=new ArrayList(); + nums.add(750); + nums.add(1334); + nums.add(24); + data.setDeviceDisplay(nums); + + TelephonyManager telephonyManager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE); + String deviceId = telephonyManager.getDeviceId(); + data.setDeviceIdentifier(deviceId); + Calendar cal=Calendar.getInstance(Locale.getDefault()); + cal.setTimeInMillis(System.currentTimeMillis()); + + String date= Toolbox.formatDate(cal.getTimeInMillis(), TimeZone.getDefault()); + data.setLocalTime(date); +// Toolbox.formatDate(cal.getTimeInMillis(), TimeZone.getDefault()); + data.setLocale(Locale.getDefault().getDisplayLanguage()); + request.setData(data); + return request; + } + + /** + * Format date. + * + * @param unixTimestamp the unix timestamp + * @param timeZone the time zone + * @return the string + */ + public static String formatDate(long unixTimestamp, TimeZone timeZone) { + SimpleDateFormat sdf = new SimpleDateFormat(simpleDateFormat.toPattern()); + sdf.setTimeZone(timeZone); + return sdf.format(new Date(unixTimestamp)); + } } \ No newline at end of file