diff --git a/.gradle/4.4/fileHashes/fileHashes.bin b/.gradle/4.4/fileHashes/fileHashes.bin index 8534d5e..bd8c2c1 100644 Binary files a/.gradle/4.4/fileHashes/fileHashes.bin and b/.gradle/4.4/fileHashes/fileHashes.bin differ diff --git a/.gradle/4.4/fileHashes/fileHashes.lock b/.gradle/4.4/fileHashes/fileHashes.lock index 6aae52d..71c91b2 100644 Binary files a/.gradle/4.4/fileHashes/fileHashes.lock and b/.gradle/4.4/fileHashes/fileHashes.lock differ diff --git a/.gradle/4.4/fileHashes/resourceHashesCache.bin b/.gradle/4.4/fileHashes/resourceHashesCache.bin index 83e57b4..3344951 100644 Binary files a/.gradle/4.4/fileHashes/resourceHashesCache.bin and b/.gradle/4.4/fileHashes/resourceHashesCache.bin differ diff --git a/.gradle/4.4/javaCompile/classAnalysis.bin b/.gradle/4.4/javaCompile/classAnalysis.bin index d6799ff..587beb0 100644 Binary files a/.gradle/4.4/javaCompile/classAnalysis.bin and b/.gradle/4.4/javaCompile/classAnalysis.bin differ diff --git a/.gradle/4.4/javaCompile/jarAnalysis.bin b/.gradle/4.4/javaCompile/jarAnalysis.bin index df89cd9..d8134a2 100644 Binary files a/.gradle/4.4/javaCompile/jarAnalysis.bin and b/.gradle/4.4/javaCompile/jarAnalysis.bin differ diff --git a/.gradle/4.4/javaCompile/javaCompile.lock b/.gradle/4.4/javaCompile/javaCompile.lock index 9857766..11a889d 100644 Binary files a/.gradle/4.4/javaCompile/javaCompile.lock and b/.gradle/4.4/javaCompile/javaCompile.lock differ diff --git a/.gradle/4.4/javaCompile/taskHistory.bin b/.gradle/4.4/javaCompile/taskHistory.bin index 405bd78..af695b8 100644 Binary files a/.gradle/4.4/javaCompile/taskHistory.bin and b/.gradle/4.4/javaCompile/taskHistory.bin differ diff --git a/.gradle/4.4/javaCompile/taskJars.bin b/.gradle/4.4/javaCompile/taskJars.bin index 9d08acd..cbd5e46 100644 Binary files a/.gradle/4.4/javaCompile/taskJars.bin and b/.gradle/4.4/javaCompile/taskJars.bin differ diff --git a/.gradle/4.4/taskHistory/taskHistory.bin b/.gradle/4.4/taskHistory/taskHistory.bin index 01d33f1..26f06f5 100644 Binary files a/.gradle/4.4/taskHistory/taskHistory.bin and b/.gradle/4.4/taskHistory/taskHistory.bin differ diff --git a/.gradle/4.4/taskHistory/taskHistory.lock b/.gradle/4.4/taskHistory/taskHistory.lock index 62cf85b..e465dbf 100644 Binary files a/.gradle/4.4/taskHistory/taskHistory.lock and b/.gradle/4.4/taskHistory/taskHistory.lock differ diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 10ab377..07cd2b8 100644 Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/.idea/libraries/com_google_code_gson_gson_2_7_jar.xml b/.idea/libraries/com_google_code_gson_gson_2_7_jar.xml new file mode 100644 index 0000000..8672413 --- /dev/null +++ b/.idea/libraries/com_google_code_gson_gson_2_7_jar.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/com_squareup_okhttp3_okhttp_3_4_2_jar.xml b/.idea/libraries/com_squareup_okhttp3_okhttp_3_4_2_jar.xml new file mode 100644 index 0000000..2b6f522 --- /dev/null +++ b/.idea/libraries/com_squareup_okhttp3_okhttp_3_4_2_jar.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/com_squareup_okio_okio_1_9_0_jar.xml b/.idea/libraries/com_squareup_okio_okio_1_9_0_jar.xml new file mode 100644 index 0000000..f092095 --- /dev/null +++ b/.idea/libraries/com_squareup_okio_okio_1_9_0_jar.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/com_squareup_picasso_picasso_2_5_2_jar.xml b/.idea/libraries/com_squareup_picasso_picasso_2_5_2_jar.xml new file mode 100644 index 0000000..8eccdeb --- /dev/null +++ b/.idea/libraries/com_squareup_picasso_picasso_2_5_2_jar.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/com_squareup_retrofit2_converter_gson_2_1_0_jar.xml b/.idea/libraries/com_squareup_retrofit2_converter_gson_2_1_0_jar.xml new file mode 100644 index 0000000..05e1f7c --- /dev/null +++ b/.idea/libraries/com_squareup_retrofit2_converter_gson_2_1_0_jar.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/com_squareup_retrofit2_retrofit_2_1_0_jar.xml b/.idea/libraries/com_squareup_retrofit2_retrofit_2_1_0_jar.xml new file mode 100644 index 0000000..2153e73 --- /dev/null +++ b/.idea/libraries/com_squareup_retrofit2_retrofit_2_1_0_jar.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/com_twitter_sdk_android_tweet_composer_3_1_1.xml b/.idea/libraries/com_twitter_sdk_android_tweet_composer_3_1_1.xml new file mode 100644 index 0000000..c8e86a1 --- /dev/null +++ b/.idea/libraries/com_twitter_sdk_android_tweet_composer_3_1_1.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/com_twitter_sdk_android_tweet_ui_3_1_1.xml b/.idea/libraries/com_twitter_sdk_android_tweet_ui_3_1_1.xml new file mode 100644 index 0000000..e043978 --- /dev/null +++ b/.idea/libraries/com_twitter_sdk_android_tweet_ui_3_1_1.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/com_twitter_sdk_android_twitter_3_1_1.xml b/.idea/libraries/com_twitter_sdk_android_twitter_3_1_1.xml new file mode 100644 index 0000000..62e08d5 --- /dev/null +++ b/.idea/libraries/com_twitter_sdk_android_twitter_3_1_1.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/com_twitter_sdk_android_twitter_core_3_1_1.xml b/.idea/libraries/com_twitter_sdk_android_twitter_core_3_1_1.xml new file mode 100644 index 0000000..564975f --- /dev/null +++ b/.idea/libraries/com_twitter_sdk_android_twitter_core_3_1_1.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/com_twitter_twitter_text_1_14_3_jar.xml b/.idea/libraries/com_twitter_twitter_text_1_14_3_jar.xml new file mode 100644 index 0000000..69b4094 --- /dev/null +++ b/.idea/libraries/com_twitter_twitter_text_1_14_3_jar.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/org_twitter4j_twitter4j_core_4_0_3_jar.xml b/.idea/libraries/org_twitter4j_twitter4j_core_4_0_3_jar.xml deleted file mode 100644 index e815e21..0000000 --- a/.idea/libraries/org_twitter4j_twitter4j_core_4_0_3_jar.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/app/app.iml b/app/app.iml index 9957ab7..f49c96b 100644 --- a/app/app.iml +++ b/app/app.iml @@ -93,7 +93,6 @@ - @@ -109,100 +108,110 @@ - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - - - - - - + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index d536249..b9ed37a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -56,8 +56,8 @@ dependencies { implementation 'com.facebook.android:facebook-android-sdk:4.32.0' implementation 'com.facebook.android:facebook-share:4.32.0' implementation 'com.facebook.android:facebook-login:4.32.0' - implementation 'org.twitter4j:twitter4j-core:4.0.3' implementation 'com.google.android.gms:play-services-location:15.0.0' + implementation 'com.twitter.sdk.android:twitter:3.1.1' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c2d24b7..edc00a9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -22,15 +22,17 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> + - - + android:screenOrientation="portrait" > + + - - + + + @@ -62,8 +64,8 @@ + android:label="@string/title_activity_home" + android:screenOrientation="portrait" /> @@ -73,10 +75,9 @@ - - - + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/project/wanderlust/Activities/AcitivitySplashScreen.java b/app/src/main/java/com/project/wanderlust/Activities/AcitivitySplashScreen.java index 7d024c5..7a1bdc4 100644 --- a/app/src/main/java/com/project/wanderlust/Activities/AcitivitySplashScreen.java +++ b/app/src/main/java/com/project/wanderlust/Activities/AcitivitySplashScreen.java @@ -1,16 +1,9 @@ package com.project.wanderlust.Activities; -import android.app.ProgressDialog; -import android.content.ContentResolver; -import android.content.Context; -import android.content.ContextWrapper; import android.content.Intent; -import android.database.Cursor; -import android.graphics.Bitmap; import android.graphics.drawable.Drawable; import android.os.Handler; -import android.provider.ContactsContract; import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; @@ -20,26 +13,13 @@ import com.google.android.gms.ads.MobileAds; import com.google.android.gms.tasks.OnSuccessListener; -import com.google.firebase.auth.FirebaseAuth; -import com.google.firebase.database.DataSnapshot; -import com.google.firebase.database.DatabaseError; -import com.google.firebase.database.DatabaseReference; -import com.google.firebase.database.FirebaseDatabase; -import com.google.firebase.database.ValueEventListener; import com.google.firebase.remoteconfig.FirebaseRemoteConfig; import com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings; -import com.google.firebase.storage.FileDownloadTask; -import com.google.firebase.storage.FirebaseStorage; -import com.google.firebase.storage.StorageReference; -import com.project.wanderlust.DataClasses.Contact; -import com.project.wanderlust.Fragments.FragmentContactsList; -import com.project.wanderlust.Others.SharedFunctions; import com.project.wanderlust.R; -import java.io.File; -import java.util.ArrayList; -public class AcitivitySplashScreen extends AppCompatActivity { +public class AcitivitySplashScreen extends AppCompatActivity +{ private int SPLASH_TIME_OUT = 5000; public LinearLayout linear; @@ -91,10 +71,17 @@ public void onSuccess(Void aVoid) { ActionBar actionBar = getSupportActionBar(); actionBar.hide(); + Handler h = new Handler(); - // Start your app main activity - Intent i = new Intent(AcitivitySplashScreen.this, ActivityRegisterPhoneNumber.class); - startActivity(i); - finish(); + h.postDelayed(new Runnable() + { + @Override + public void run() { + // Start your app main activity + Intent i = new Intent(AcitivitySplashScreen.this, ActivityRegisterPhoneNumber.class); + startActivity(i); + finish(); + } + }, SPLASH_TIME_OUT); } } diff --git a/app/src/main/java/com/project/wanderlust/Activities/ActionBarMenu.java b/app/src/main/java/com/project/wanderlust/Activities/ActionBarMenu.java index 4244f54..f53ebe0 100644 --- a/app/src/main/java/com/project/wanderlust/Activities/ActionBarMenu.java +++ b/app/src/main/java/com/project/wanderlust/Activities/ActionBarMenu.java @@ -79,6 +79,16 @@ public boolean onOptionsItemSelected(MenuItem item) return true; } + case R.id.Share: + { + Intent intent = new Intent(this, ActivityShareOptions.class); + intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); + startActivity(intent); + + return true; + } + + default: return super.onOptionsItemSelected(item); } diff --git a/app/src/main/java/com/project/wanderlust/Activities/ActivityFBLogin.java b/app/src/main/java/com/project/wanderlust/Activities/ActivityFBLogin.java new file mode 100644 index 0000000..edc3a59 --- /dev/null +++ b/app/src/main/java/com/project/wanderlust/Activities/ActivityFBLogin.java @@ -0,0 +1,134 @@ +package com.project.wanderlust.Activities; + +import android.content.Intent; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; + +import com.facebook.CallbackManager; +import com.facebook.FacebookCallback; +import com.facebook.FacebookException; +import com.facebook.FacebookSdk; +import com.facebook.GraphRequest; +import com.facebook.GraphResponse; +import com.facebook.login.LoginResult; +import com.facebook.login.widget.LoginButton; +import com.project.wanderlust.R; + +import org.json.JSONException; +import org.json.JSONObject; + +import java.net.MalformedURLException; +import java.net.URL; + +public class ActivityFBLogin extends ActionBarMenu { + + private CallbackManager callbackManager; + + private LoginButton loginButton; + private String userId; + + static public String firstName,lastName; + static public URL profilePicture; + + @Override + protected void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + + FacebookSdk.sdkInitialize(this); + + + setContentView(R.layout.activity_fb_login); + + android.support.v7.app.ActionBar actionBar = getSupportActionBar(); + actionBar.setDisplayHomeAsUpEnabled(true); + + + com.facebook.AccessToken token = com.facebook.AccessToken.getCurrentAccessToken(); + + //Already Logged In + if (token != null) + { + Intent main = new Intent(ActivityFBLogin.this,ActivityFBPage.class); + + main.putExtra("name",firstName); + main.putExtra("surname",lastName); + + if (profilePicture != null) { + main.putExtra("imageUrl", profilePicture.toString()); + } + + startActivity(main); + finish(); + } + + + callbackManager = CallbackManager.Factory.create(); + + loginButton = (LoginButton) findViewById(R.id.login_button); + + + FacebookCallback callback = new FacebookCallback() + { + @Override + public void onSuccess(LoginResult loginResult) { + GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() { + @Override + public void onCompleted(JSONObject object, GraphResponse response) { + + try + { + userId = object.getString("id"); + profilePicture = new URL("https://graph.facebook.com/" + userId + "/picture?width=500&height=500"); + if(object.has("first_name")) + firstName = object.getString("first_name"); + if(object.has("last_name")) + lastName = object.getString("last_name"); + + Intent main = new Intent(ActivityFBLogin.this,ActivityFBPage.class); + + main.putExtra("name",firstName); + main.putExtra("surname",lastName); + main.putExtra("imageUrl",profilePicture.toString()); + + startActivity(main); + finish(); + + } catch (JSONException e) { + e.printStackTrace(); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + } + }); + + //Here we put the requested fields to be returned from the JSONObject + Bundle parameters = new Bundle(); + parameters.putString("fields", "id, first_name, last_name"); + request.setParameters(parameters); + request.executeAsync(); + } + + @Override + public void onCancel() { + } + + @Override + public void onError(FacebookException e) { + e.printStackTrace(); + } + }; + + + loginButton.setReadPermissions("email", "user_birthday", "user_posts"); + loginButton.registerCallback(callbackManager, callback); + } + + + @Override + protected void onActivityResult(int requestCode, int responseCode, Intent intent) + { + super.onActivityResult(requestCode, responseCode, intent); + callbackManager.onActivityResult(requestCode, responseCode, intent); + } +} diff --git a/app/src/main/java/com/project/wanderlust/Activities/ActivityFBPage.java b/app/src/main/java/com/project/wanderlust/Activities/ActivityFBPage.java new file mode 100644 index 0000000..2f14a07 --- /dev/null +++ b/app/src/main/java/com/project/wanderlust/Activities/ActivityFBPage.java @@ -0,0 +1,125 @@ +package com.project.wanderlust.Activities; + +import android.content.Intent; +import android.drm.DrmStore; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.net.Uri; +import android.os.AsyncTask; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.util.Log; +import android.view.View; +import android.widget.ImageView; +import android.widget.TextView; + +import com.facebook.AccessToken; +import com.facebook.GraphRequest; +import com.facebook.GraphResponse; +import com.facebook.HttpMethod; +import com.facebook.login.LoginManager; +import com.facebook.share.model.ShareHashtag; +import com.facebook.share.model.ShareLinkContent; +import com.facebook.share.widget.ShareDialog; +import com.project.wanderlust.R; + +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + +public class ActivityFBPage extends ActionBarMenu { + + private ShareDialog shareDialog; + private String name, surname, imageUrl; + + @Override + protected void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_fbpage); + + android.support.v7.app.ActionBar actionBar = getSupportActionBar(); + actionBar.setDisplayHomeAsUpEnabled(true); + + + Bundle inBundle = getIntent().getExtras(); + name = inBundle.getString("name"); + surname = inBundle.getString("surname"); + + if(ActivityFBLogin.profilePicture != null) + { + imageUrl = inBundle.getString("imageUrl"); + new DownloadImage((ImageView)findViewById(R.id.profileImage)).execute(imageUrl); + } + + TextView nameView = (TextView)findViewById(R.id.nameAndSurname); + nameView.setText("" + name + " " + surname); + } + + + public void onClick(View view) + { + switch (view.getId()){ + case R.id.share: + share(); + break; + + + case R.id.logout: + logout(); + break; + } + } + + + private void share() + { + shareDialog = new ShareDialog(this); + List taggedUserIds= new ArrayList(); + taggedUserIds.add("{USER_ID}"); + taggedUserIds.add("{USER_ID}"); + taggedUserIds.add("{USER_ID}"); + + ShareLinkContent content = new ShareLinkContent.Builder() + .setContentUrl(Uri.parse("http://www.wanderlust.com")) + .setShareHashtag(new ShareHashtag.Builder().setHashtag("#wanderlust").build()) + .setPeopleIds(taggedUserIds) + .setPlaceId("{PLACE_ID}") + .build(); + + shareDialog.show(content); + } + + + public class DownloadImage extends AsyncTask + { + ImageView bmImage; + + public DownloadImage(ImageView bmImage) { + this.bmImage = bmImage; + } + + protected Bitmap doInBackground(String... urls) { + String urldisplay = urls[0]; + Bitmap mIcon11 = null; + try { + InputStream in = new java.net.URL(urldisplay).openStream(); + mIcon11 = BitmapFactory.decodeStream(in); + } catch (Exception e) { + Log.e("Error", e.getMessage()); + e.printStackTrace(); + } + return mIcon11; + } + + protected void onPostExecute(Bitmap result) { + bmImage.setImageBitmap(result); + } + } + + private void logout() + { + LoginManager.getInstance().logOut(); + finish(); + } +} diff --git a/app/src/main/java/com/project/wanderlust/Activities/ActivityHome.java b/app/src/main/java/com/project/wanderlust/Activities/ActivityHome.java index 0e97a26..64de04d 100644 --- a/app/src/main/java/com/project/wanderlust/Activities/ActivityHome.java +++ b/app/src/main/java/com/project/wanderlust/Activities/ActivityHome.java @@ -32,17 +32,14 @@ public class ActivityHome extends ActionBarMenu { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { switch (item.getItemId()) { - case R.id.navigation_notes: - viewPager.setCurrentItem(0); - return true; case R.id.navigation_journeysMap: - viewPager.setCurrentItem(1); + viewPager.setCurrentItem(0); return true; case R.id.navigation_journeys: - viewPager.setCurrentItem(2); + viewPager.setCurrentItem(1); return true; case R.id.navigation_friends: - viewPager.setCurrentItem(3); + viewPager.setCurrentItem(2); return true; } return false; @@ -55,8 +52,8 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home); - if(savedInstanceState == null) { - + if(savedInstanceState == null) + { bottombar = (BottomNavigationView) findViewById(R.id.bottom_navigation); bottombar.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener); @@ -72,12 +69,10 @@ protected void onCreate(Bundle savedInstanceState) { @Override public void onPageSelected(int position) { if (position == 0) - bottombar.setSelectedItemId(R.id.navigation_notes); - else if (position == 1) bottombar.setSelectedItemId(R.id.navigation_journeysMap); - else if (position == 2) + else if (position == 1) bottombar.setSelectedItemId(R.id.navigation_journeys); - else if (position == 3) + else if (position == 2) bottombar.setSelectedItemId(R.id.navigation_friends); } }); @@ -88,7 +83,7 @@ else if (position == 3) //Fragment Pager Adapter public class FPagerAdapter extends FragmentPagerAdapter { - final int PAGE_COUNT = 4; + final int PAGE_COUNT = 3; public FPagerAdapter(FragmentManager fm) { @@ -101,19 +96,15 @@ public FPagerAdapter(FragmentManager fm) { if ((position == 0)) - { - return new FragmentNotesList(); - } - else if ((position == 1)) { return new FragmentMap(); } - else if ((position == 2)) + else if ((position == 1)) { return new FragmentJourneysList(); } - else if ((position == 3)) + else if ((position == 2)) { return new FragmentContactsList(); } diff --git a/app/src/main/java/com/project/wanderlust/Activities/ActivityShareOptions.java b/app/src/main/java/com/project/wanderlust/Activities/ActivityShareOptions.java new file mode 100644 index 0000000..a989670 --- /dev/null +++ b/app/src/main/java/com/project/wanderlust/Activities/ActivityShareOptions.java @@ -0,0 +1,35 @@ +package com.project.wanderlust.Activities; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; + +import com.project.wanderlust.R; + +public class ActivityShareOptions extends ActionBarMenu { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_share_options); + + android.support.v7.app.ActionBar actionBar = getSupportActionBar(); + actionBar.setDisplayHomeAsUpEnabled(true); + + } + + + public void facebook(View view) + { + Intent main = new Intent(this,ActivityFBLogin.class); + startActivity(main); + } + + + public void twitter(View view) + { + Intent main = new Intent(this,ActivityTLogin.class); + startActivity(main); + } + +} diff --git a/app/src/main/java/com/project/wanderlust/Activities/ActivityTLogin.java b/app/src/main/java/com/project/wanderlust/Activities/ActivityTLogin.java new file mode 100644 index 0000000..9feecb9 --- /dev/null +++ b/app/src/main/java/com/project/wanderlust/Activities/ActivityTLogin.java @@ -0,0 +1,96 @@ +package com.project.wanderlust.Activities; + +import android.content.Intent; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.util.Log; + +import com.project.wanderlust.R; +import com.twitter.sdk.android.core.Callback; +import com.twitter.sdk.android.core.DefaultLogger; +import com.twitter.sdk.android.core.Result; +import com.twitter.sdk.android.core.TwitterAuthConfig; +import com.twitter.sdk.android.core.TwitterConfig; +import com.twitter.sdk.android.core.Twitter; +import com.twitter.sdk.android.core.TwitterCore; +import com.twitter.sdk.android.core.TwitterException; +import com.twitter.sdk.android.core.TwitterSession; +import com.twitter.sdk.android.core.identity.TwitterLoginButton; + + +public class ActivityTLogin extends ActionBarMenu { + + private TwitterLoginButton twitterLoginButton; + private TwitterSession session; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + String consumerKey = "yHLRJX0scOPs3KzEjpG24ncwV"; + String consumerSecret = "TGurwmekln1LoUU1Bcza7P3cridGYCdSF0aTQIzVNLlANt6ACU"; + + + TwitterConfig config = new TwitterConfig.Builder(this) + .logger(new DefaultLogger(Log.DEBUG))//enable logging when app is in debug mode + .twitterAuthConfig(new TwitterAuthConfig(consumerKey, consumerSecret))//pass the created app Consumer KEY and Secret also called API Key and Secret + .debug(true)//enable debug mode + .build(); + + //finally initialize twitter with created configs + Twitter.initialize(config); + + + setContentView(R.layout.activity_t_login); + + android.support.v7.app.ActionBar actionBar = getSupportActionBar(); + actionBar.setDisplayHomeAsUpEnabled(true); + + + + + if (getTwitterSession() != null) + { + Intent main = new Intent(this,ActivityTPage.class); + startActivity(main); + } + else { + + twitterLoginButton = findViewById(R.id.tlogin); + twitterLoginButton.setCallback(new Callback() { + @Override + public void success(Result result) { + session = result.data; + Intent main = new Intent(ActivityTLogin.this, ActivityTPage.class); + startActivity(main); + + } + + @Override + public void failure(TwitterException exception) { + // Do something on failure + } + }); + } + } + + + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + + // Pass the activity result to the login button. + twitterLoginButton.onActivityResult(requestCode, resultCode, data); + } + + + private TwitterSession getTwitterSession() + { + TwitterSession session = TwitterCore.getInstance().getSessionManager().getActiveSession(); + + return session; + } +} + + + + diff --git a/app/src/main/java/com/project/wanderlust/Activities/ActivityTPage.java b/app/src/main/java/com/project/wanderlust/Activities/ActivityTPage.java new file mode 100644 index 0000000..7209b1a --- /dev/null +++ b/app/src/main/java/com/project/wanderlust/Activities/ActivityTPage.java @@ -0,0 +1,108 @@ +package com.project.wanderlust.Activities; + +import android.content.Intent; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.util.Log; +import android.view.View; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.TextView; +import android.widget.Toast; + +import com.project.wanderlust.R; +import com.squareup.picasso.Picasso; +import com.twitter.sdk.android.core.Callback; +import com.twitter.sdk.android.core.Result; +import com.twitter.sdk.android.core.TwitterApiClient; +import com.twitter.sdk.android.core.TwitterCore; +import com.twitter.sdk.android.core.TwitterException; +import com.twitter.sdk.android.core.models.User; +import com.twitter.sdk.android.tweetcomposer.ComposerActivity; + +import org.w3c.dom.Text; + +import retrofit2.Call; + +public class ActivityTPage extends ActionBarMenu { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_tpage); + + android.support.v7.app.ActionBar actionBar = getSupportActionBar(); + actionBar.setDisplayHomeAsUpEnabled(true); + + + fetchTwitterImage(); + } + + + public void PostOnTwitter(View view) + { + try + { + EditText post = findViewById(R.id.post); + String p = post.getText().toString(); + + final Intent intent = new ComposerActivity.Builder(this) + .session(TwitterCore.getInstance().getSessionManager().getActiveSession()) + .text(p) + .hashtags("#wanderlust_best_app") + .createIntent(); + startActivity(intent); + } + + catch (TwitterException te) + { + te.printStackTrace(); + Toast.makeText(this, te.getMessage(), Toast.LENGTH_LONG).show(); + } + } + + + public void fetchTwitterImage() + { + //check if user is already authenticated or not + if (TwitterCore.getInstance().getSessionManager().getActiveSession() != null) + { + + //fetch twitter image with other information if user is already authenticated + + //initialize twitter api client + TwitterApiClient twitterApiClient = TwitterCore.getInstance().getApiClient(); + + //pass includeEmail : true if you want to fetch Email as well + Call call = twitterApiClient.getAccountService().verifyCredentials(true, false, false); + call.enqueue(new Callback() { + @Override + public void success(Result result) { + User user = result.data; + TextView name = findViewById(R.id.nameAndSurname4); + name.setText("User Name: " + user.name + "\nScreen Name : " + user.screenName); + + String imageProfileUrl = user.profileImageUrl; + + imageProfileUrl = imageProfileUrl.replace("_normal", ""); + + ///load image using Picasso + Picasso.with(ActivityTPage.this) + .load(imageProfileUrl) + .placeholder(R.mipmap.ic_launcher_round) + .into((ImageView)findViewById(R.id.profileImage4)); + } + + @Override + public void failure(TwitterException exception) { + Toast.makeText(ActivityTPage.this, exception.getMessage(), Toast.LENGTH_SHORT).show(); + } + }); + } + else + { + //if user is not authenticated first ask user to do authentication + Toast.makeText(this, "First to Twitter auth to Verify Credentials.", Toast.LENGTH_SHORT).show(); + } + } +} diff --git a/app/src/main/res/layout/activity_fb_login.xml b/app/src/main/res/layout/activity_fb_login.xml new file mode 100644 index 0000000..b7968b3 --- /dev/null +++ b/app/src/main/res/layout/activity_fb_login.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_fbpage.xml b/app/src/main/res/layout/activity_fbpage.xml new file mode 100644 index 0000000..a3d8eb1 --- /dev/null +++ b/app/src/main/res/layout/activity_fbpage.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + +