Created
January 14, 2017 05:49
-
-
Save AruLNadhaN/b0f89f94f153881f631f1b63d2645fde to your computer and use it in GitHub Desktop.
Email string is always NULL
This file contains 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
public class BrowseFragment extends TiFragment<BrowsePresenter, BrowseView> implements BrowseView, BrowseAdapter.ClickListener{ | |
int RC_SIGN_IN = 100; | |
BrowseAdapter mBrowseAdapter; | |
GridLayoutManager layoutManager; | |
@BindView(R.id.progress) | |
ProgressBar mProgress; | |
@BindView(R.id.list) | |
RecyclerView mItemRecycler; | |
@BindView(R.id.bmb) | |
BoomMenuButton bmb; | |
@NonNull | |
@Override | |
public BrowsePresenter providePresenter() { | |
return new BrowsePresenter(); | |
} | |
@Override | |
public void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setRetainInstance(true); | |
} | |
@Override | |
public View onCreateView(LayoutInflater inflater, | |
ViewGroup container, | |
Bundle savedInstanceState) { | |
View fragmentView = inflater.inflate(R.layout.fragment_browse, container, false); | |
ButterKnife.bind(this, fragmentView); | |
setupViews(); | |
initBoomButton(); | |
return fragmentView; | |
} | |
@Override | |
public void onCartAdd(Product item) { | |
providePresenter().addToCart(item, 1); // calling the presenter! | |
} | |
@Override | |
public void onCartRemove(Product item) { | |
providePresenter().addToCart(item, 0); | |
} | |
@Override | |
public void onItemQuantity(Product item, float quantity) { | |
providePresenter().addToCart(item, quantity); | |
} |
This file contains 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 me.arulnadhan.grocerycorecommon.ui.browse; | |
import android.support.annotation.NonNull; | |
import com.google.firebase.auth.FirebaseAuth; | |
import com.google.firebase.auth.FirebaseUser; | |
import com.google.firebase.database.DataSnapshot; | |
import com.google.firebase.database.DatabaseReference; | |
import com.google.firebase.database.FirebaseDatabase; | |
import com.google.firebase.database.Query; | |
import com.google.firebase.database.ServerValue; | |
import com.kelvinapps.rxfirebase.RxFirebaseAuth; | |
import com.kelvinapps.rxfirebase.RxFirebaseDatabase; | |
import net.grandcentrix.thirtyinch.TiPresenter; | |
import net.grandcentrix.thirtyinch.rx.RxTiPresenterSubscriptionHandler; | |
import java.util.ArrayList; | |
import java.util.List; | |
import me.arulnadhan.grocerycorecommon.data.model.Customer; | |
import me.arulnadhan.grocerycorecommon.data.model.Product; | |
import me.arulnadhan.grocerycorecommon.utils.Helper; | |
import timber.log.Timber; | |
/** | |
* Created by AruLNadhaN on 10/12/2016. | |
*/ | |
public class BrowsePresenter extends TiPresenter<BrowseView> { | |
private RxTiPresenterSubscriptionHandler rxHelper = new RxTiPresenterSubscriptionHandler(this); | |
private FirebaseDatabase mFirebaseDatabase = FirebaseDatabase.getInstance(); | |
private FirebaseAuth mFirebaseAuth = FirebaseAuth.getInstance(); | |
private DatabaseReference mDatabase = mFirebaseDatabase.getReference(); | |
private DatabaseReference mUserDB = mFirebaseDatabase.getReference().child("customers"); | |
private DatabaseReference mProdDB = mFirebaseDatabase.getReference().child("S01/Products"); | |
private Query mRef; | |
private DatabaseReference cartRef; | |
private FirebaseUser mUser; | |
private String selectedCat, Email; | |
private final List<Product> ProdList = new ArrayList<>(); | |
@Override | |
protected void onAttachView(@NonNull BrowseView view) { | |
super.onAttachView(view); | |
authenticate(); | |
getProducts(); | |
} | |
private void getProducts() { | |
final BrowseView view = getView(); | |
view.showMessageLayout(false); | |
view.showProgress(); | |
mRef = mProdDB.child("C01"); | |
rxHelper.manageSubscription( | |
RxFirebaseDatabase.observeValueEvent(mRef, | |
dataSnapshot -> { | |
List<Product> mProd = new ArrayList<>(); | |
for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) { | |
Product Prod = Product.create(postSnapshot); | |
mProd.add(Prod); | |
} | |
return mProd; | |
}) | |
.subscribe(mProd -> { | |
view.hideProgress(); | |
Timber.d(mProd.get(0).productName()); | |
view.showItems(mProd); | |
}) | |
); | |
} | |
public void addToCart(Product item, float quantity) { | |
Timber.d("Email >> "+ Email); // Email is always NULL | |
} | |
private void authenticate() { | |
Timber.d("AUTH Listener"); | |
rxHelper.manageViewSubscription( | |
RxFirebaseAuth.observeAuthState(mFirebaseAuth) | |
.subscribe(firebaseUser -> { | |
if (firebaseUser != null) { | |
mUser = firebaseUser; | |
Email = firebaseUser.getEmail(); | |
Timber.d("Email >> "+ Email); // Email is returned correctly! | |
Timber.d("user Photo: " + firebaseUser.getPhotoUrl()); | |
} else { | |
Timber.d("TOKEN NULL"); | |
sendToView(BrowseView::showLogin); | |
} | |
}) | |
); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment