package me.abhiseshan.streamingtest;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.Signature;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Base64;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.facebook.CallbackManager;
import com.facebook.FacebookCallback;
import com.facebook.FacebookException;
import com.facebook.FacebookSdk;
import com.facebook.Profile;
import com.facebook.login.LoginBehavior;
import com.facebook.login.LoginResult;
import com.facebook.login.widget.LoginButton;
import com.facebook.login.widget.ProfilePictureView;
import com.romainpiel.shimmer.Shimmer;
import com.romainpiel.shimmer.ShimmerTextView;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.concurrent.ExecutionException;
import de.hdodenhof.circleimageview.CircleImageView;
public class MainActivity extends AppCompatActivity {
CallbackManager callbackManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(this);
setContentView(R.layout.activity_main);
callbackManager = CallbackManager.Factory.create();
final LoginButton loginButton = (LoginButton) findViewById(R.id.login_button);
final TextView welcomeTextView = (TextView) findViewById(R.id.welcomeTextView);
loginButton.setReadPermissions("user_friends");
// If using in a fragment
// Other app specific specialization
final ProfilePictureView profileView = (ProfilePictureView) findViewById(R.id.profile_image);
if (com.facebook.AccessToken.getCurrentAccessToken()!=null) {
final Profile profile = Profile.getCurrentProfile();
String urlProfileFacebook = "https://graph.facebook.com/" + profile.getId() + "/picture?type=large";
profileView.animate();
profileView.setProfileId(profile.getId());
//profileView.animate();
/*try{
URL profilePic= new URL(urlProfileFacebook);
Bitmap bitmap= (Bitmap) profilePic.getContent();
profileView.setImageBitmap(bitmap);
}
catch(IOException c){};*/
/*Glide.with(getApplicationContext())
.load(urlProfileFacebook)
.into(profileView);*/
welcomeTextView.setText("Hi there,\n" + profile.getFirstName() + " " + profile.getLastName());
loginButton.setVisibility(View.INVISIBLE);
} else {
profileView.setVisibility(View.INVISIBLE);
welcomeTextView.setText("Please Log into facebook");
loginButton.setVisibility(View.VISIBLE);
}
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
// App code
final Profile profile = Profile.getCurrentProfile();
String urlProfileFacebook = "https://graph.facebook.com/" + profile.getId() + "/picture?type=large";
profileView.setProfileId(profile.getId());
/*Glide.with(getApplicationContext())
.load(urlProfileFacebook)
.into(profileView);*/
final ProfilePictureView profileView = (ProfilePictureView) findViewById(R.id.profile_image);
profileView.setProfileId(profile.getId());
profileView.setVisibility(View.VISIBLE);
loginButton.setVisibility(View.INVISIBLE);
welcomeTextView.setText("Hi there,\n" + profile.getFirstName() + " " + profile.getLastName());
}
@Override
public void onCancel() {
// App code
}
@Override
public void onError(FacebookException exception) {
// App code
}
});
RelativeLayout screenContainer = (RelativeLayout) findViewById(R.id.screen_container);
screenContainer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, RoomCodeActivity.class);
startActivity(intent);
}
});
Shimmer shimmer = new Shimmer();
shimmer.start((ShimmerTextView) findViewById(R.id.shimmer_tv));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
}