Created
September 23, 2018 08:31
-
-
Save malikkurosaki/91a00f7066c33714d627740871db7006 to your computer and use it in GitHub Desktop.
backup for ignore eror
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.malik.rajapickup; | |
import android.app.Dialog; | |
import android.content.Intent; | |
import android.net.Uri; | |
import android.support.annotation.NonNull; | |
import android.support.annotation.Nullable; | |
import android.support.v7.app.AlertDialog; | |
import android.support.v7.app.AppCompatActivity; | |
import android.os.Bundle; | |
import android.util.Log; | |
import android.view.View; | |
import android.view.ViewTreeObserver; | |
import android.widget.Button; | |
import android.widget.EditText; | |
import android.widget.FrameLayout; | |
import android.widget.ImageView; | |
import android.widget.LinearLayout; | |
import android.widget.ScrollView; | |
import android.widget.TextView; | |
import android.widget.Toast; | |
import com.esafirm.imagepicker.features.ImagePicker; | |
import com.firebase.ui.auth.AuthUI; | |
import com.google.android.gms.tasks.OnCompleteListener; | |
import com.google.android.gms.tasks.OnFailureListener; | |
import com.google.android.gms.tasks.OnSuccessListener; | |
import com.google.android.gms.tasks.Task; | |
import com.google.firebase.auth.FirebaseAuth; | |
import com.google.firebase.auth.FirebaseUser; | |
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.iid.FirebaseInstanceId; | |
import com.google.firebase.iid.InstanceIdResult; | |
import com.google.firebase.storage.FirebaseStorage; | |
import com.google.firebase.storage.StorageReference; | |
import com.google.firebase.storage.UploadTask; | |
import com.pedro.library.AutoPermissions; | |
import com.pedro.library.AutoPermissionsListener; | |
import com.squareup.picasso.Callback; | |
import com.squareup.picasso.Picasso; | |
import java.util.Collections; | |
import java.util.List; | |
import java.util.Objects; | |
public class MainActivity extends AppCompatActivity implements View.OnClickListener{ | |
private FirebaseUser auth; | |
private List<AuthUI.IdpConfig> provider; | |
private Boolean terlihat = false; | |
private Boolean sudahLogin = false; | |
private int SIGNIN_CODE = 100; | |
private Boolean sudahUpateProfil = true; | |
private AlertDialog.Builder updateProfileBilder; | |
private View updateProfilView; | |
private Dialog updateProfileDialog; | |
private ImageView panelImageUser; | |
private TextView panelNameUser; | |
private Button panelLogin; | |
private Button panelLogOut; | |
private LinearLayout panelLay; | |
private ScrollView scrollLay; | |
private FrameLayout container; | |
private ImageView updateGambarProfile; | |
private EditText updateProfileNama; | |
private Button updateProfileSimpan; | |
private StorageReference storageReference; | |
private int PILIH_PHOTO = 67; | |
private Uri urlGambarProfil; | |
private DatabaseReference reference; | |
private String tkn; | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_main); | |
auth = FirebaseAuth.getInstance().getCurrentUser(); | |
storageReference = FirebaseStorage.getInstance().getReference(); | |
reference = FirebaseDatabase.getInstance().getReference(); | |
panelImageUser = findViewById(R.id.panelImageUser); | |
panelNameUser = findViewById(R.id.panelNameUser); | |
panelLogin = findViewById(R.id.panelLogin); | |
panelLogOut = findViewById(R.id.panelLogOut); | |
panelLay = findViewById(R.id.panelLay); | |
scrollLay = findViewById(R.id.scrollLay); | |
container = findViewById(R.id.container); | |
updateProfileBilder = new AlertDialog.Builder(this); | |
updateProfilView = getLayoutInflater().inflate(R.layout.update_profil,null); | |
updateProfileBilder.setView(updateProfilView); | |
updateProfileDialog = updateProfileBilder.create(); | |
updateGambarProfile = updateProfilView.findViewById(R.id.updateGambarProfil); | |
updateProfileNama = updateProfilView.findViewById(R.id.updateNamaProfil); | |
updateProfileSimpan = findViewById(R.id.updateProfileSimpan); | |
storageReference.child("user").child(auth.getUid()).child("profil.jpg").getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() { | |
@Override | |
public void onSuccess(final Uri uri) { | |
Picasso.get().load(uri).into(panelImageUser, new Callback() { | |
@Override | |
public void onSuccess() { | |
} | |
@Override | |
public void onError(Exception e) { | |
} | |
}); | |
} | |
}); | |
//onScroll action | |
scrollLay.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() { | |
@Override | |
public void onScrollChanged() { | |
int scrollY = scrollLay.getScrollY(); | |
int batas = 200; | |
if (scrollY >= batas){ | |
panelLay.setBackgroundColor(getResources().getColor(R.color.browser_actions_bg_grey)); | |
}else { | |
panelLay.setBackgroundColor(0); | |
} | |
} | |
}); | |
sudahLogin = auth != null; | |
terlihat = sudahLogin; | |
if (terlihat){ | |
panelImageUser.setVisibility(View.VISIBLE); | |
panelNameUser.setVisibility(View.VISIBLE); | |
panelLogOut.setVisibility(View.VISIBLE); | |
panelLogin.setVisibility(View.GONE); | |
}else { | |
panelImageUser.setVisibility(View.GONE); | |
panelNameUser.setVisibility(View.GONE); | |
panelLogOut.setVisibility(View.GONE); | |
panelLogin.setVisibility(View.VISIBLE); | |
} | |
panelLogin.setOnClickListener(this); | |
panelLogOut.setOnClickListener(this); | |
updateGambarProfile.setOnClickListener(this); | |
panelImageUser.setOnClickListener(this); | |
} | |
// watesane | |
public void updatePilihGambarProfile(){ | |
ImagePicker.create(this).start(); | |
} | |
@Override | |
public void onClick(View view) { | |
switch (view.getId()){ | |
case R.id.panelLogin: | |
keLogin(); | |
break; | |
case R.id.panelLogOut: | |
keKeluar(); | |
break; | |
case R.id.updateGambarProfil: | |
AutoPermissions.Companion.loadActivityPermissions(MainActivity.this, 1); | |
updatePilihGambarProfile(); | |
break; | |
case R.id.panelImageUser: | |
//updateProfileDialog.show(); | |
imagePicker(); | |
break; | |
} | |
} | |
public void imagePicker(){ | |
Intent ambilGambar = new Intent(Intent.ACTION_PICK); | |
ambilGambar.setType("image/*"); | |
startActivityForResult(ambilGambar,PILIH_PHOTO); | |
} | |
public void keLogin(){ | |
provider = Collections.singletonList(new AuthUI.IdpConfig.PhoneBuilder().build()); | |
startActivityForResult( | |
AuthUI.getInstance() | |
.createSignInIntentBuilder() | |
.setAvailableProviders(provider) | |
.build(),SIGNIN_CODE | |
); | |
} | |
public void keKeluar(){ | |
AuthUI.getInstance().signOut(getApplicationContext()).addOnCompleteListener(new OnCompleteListener<Void>() { | |
@Override | |
public void onComplete(@NonNull Task<Void> task) { | |
finish(); | |
startActivity(getIntent()); | |
} | |
}); | |
} | |
@Override | |
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { | |
super.onRequestPermissionsResult(requestCode, permissions, grantResults); | |
//hasil permission | |
AutoPermissionsListener listener = new AutoPermissionsListener() { | |
@Override | |
public void onGranted(int i, String[] strings) { | |
} | |
@Override | |
public void onDenied(int i, String[] strings) { | |
} | |
}; | |
AutoPermissions.Companion.parsePermissions(MainActivity.this, requestCode, permissions, listener); | |
} | |
@Override | |
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { | |
if (requestCode == PILIH_PHOTO && resultCode == RESULT_OK){ | |
AlertDialog.Builder builder = new AlertDialog.Builder(this); | |
builder.setMessage("tunggu sebentar"); | |
final Dialog dialog = builder.create(); | |
dialog.show(); | |
assert data != null; | |
final Uri gambar = data.getData(); | |
final StorageReference tempat = storageReference.child("user").child(auth.getUid()).child("profil.jpg"); | |
UploadTask uploadTask = tempat.putFile(gambar); | |
uploadTask.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { | |
@Override | |
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { | |
Picasso.get().load(gambar).into(panelImageUser, new Callback() { | |
@Override | |
public void onSuccess() { | |
dialog.dismiss(); | |
} | |
@Override | |
public void onError(Exception e) { | |
} | |
}); | |
} | |
}).addOnFailureListener(new OnFailureListener() { | |
@Override | |
public void onFailure(@NonNull Exception e) { | |
Log.d("SALAHNYA","adalah :"+e); | |
} | |
}); | |
} | |
if (requestCode == SIGNIN_CODE && resultCode == RESULT_OK){ | |
Toast.makeText(getApplicationContext(),"selamat kembali",Toast.LENGTH_LONG).show(); | |
finish(); | |
startActivity(getIntent()); | |
} | |
super.onActivityResult(requestCode, resultCode, data); | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment