in app/src/main/java/com/google/firebase/example/fireeats/RestaurantDetailActivity.java [81:134]
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_restaurant_detail);
mImageView = findViewById(R.id.restaurant_image);
mNameView = findViewById(R.id.restaurant_name);
mRatingIndicator = findViewById(R.id.restaurant_rating);
mNumRatingsView = findViewById(R.id.restaurant_num_ratings);
mCityView = findViewById(R.id.restaurant_city);
mCategoryView = findViewById(R.id.restaurant_category);
mPriceView = findViewById(R.id.restaurant_price);
mEmptyView = findViewById(R.id.view_empty_ratings);
mRatingsRecycler = findViewById(R.id.recycler_ratings);
findViewById(R.id.restaurant_button_back).setOnClickListener(this);
findViewById(R.id.fab_show_rating_dialog).setOnClickListener(this);
// Get restaurant ID from extras
String restaurantId = getIntent().getExtras().getString(KEY_RESTAURANT_ID);
if (restaurantId == null) {
throw new IllegalArgumentException("Must pass extra " + KEY_RESTAURANT_ID);
}
// Initialize Firestore
mFirestore = FirebaseUtil.getFirestore();
// Get reference to the restaurant
mRestaurantRef = mFirestore.collection("restaurants").document(restaurantId);
// Get ratings
Query ratingsQuery = mRestaurantRef
.collection("ratings")
.orderBy("timestamp", Query.Direction.DESCENDING)
.limit(50);
// RecyclerView
mRatingAdapter = new RatingAdapter(ratingsQuery) {
@Override
protected void onDataChanged() {
if (getItemCount() == 0) {
mRatingsRecycler.setVisibility(View.GONE);
mEmptyView.setVisibility(View.VISIBLE);
} else {
mRatingsRecycler.setVisibility(View.VISIBLE);
mEmptyView.setVisibility(View.GONE);
}
}
};
mRatingsRecycler.setLayoutManager(new LinearLayoutManager(this));
mRatingsRecycler.setAdapter(mRatingAdapter);
mRatingDialog = new RatingDialogFragment();
}