public void loadExperiences() { final Firebase ref = new Firebase("https://sizzling-torch-8367.firebaseio.com/users/" + id + "/experiences"); ref.addValueEventListener( new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { experienceViews = new ArrayList<>(); LinearLayout layout = (LinearLayout) findViewById(R.id.EditResumeLinearLayoutExperience); layout.removeAllViews(); for (DataSnapshot experience : dataSnapshot.getChildren()) { FirebaseExperience exp = new FirebaseExperience( EditResumeActivity.this, experience.getKey(), experience.child("position").getValue().toString(), experience.child("name").getValue().toString(), experience.child("startDate").getValue().toString(), experience.child("endDate").getValue().toString(), experience.child("city").getValue().toString(), experience.child("state").getValue().toString(), experience.child("info").getValue().toString()); experienceViews.add(exp); } for (int i = 0; i < experienceViews.size(); i++) { layout.addView(experienceViews.get(i).getLayout(), i); } } @Override public void onCancelled(FirebaseError firebaseError) {} }); }
public void loadReferences() { final Firebase ref = new Firebase("https://sizzling-torch-8367.firebaseio.com/users/" + id + "/references"); ref.addValueEventListener( new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { referenceViews = new ArrayList<>(); LinearLayout layout = (LinearLayout) findViewById(R.id.EditResumeLinearLayoutReferences); layout.removeAllViews(); for (DataSnapshot reference : dataSnapshot.getChildren()) { FirebaseReference ref = new FirebaseReference( EditResumeActivity.this, reference.getKey(), reference.child("name").getValue().toString(), reference.child("phone").getValue().toString(), reference.child("email").getValue().toString(), reference.child("relation").getValue().toString()); referenceViews.add(ref); } for (int i = 0; i < referenceViews.size(); i++) { layout.addView(referenceViews.get(i).getLayout(), i); } } @Override public void onCancelled(FirebaseError firebaseError) {} }); }
List<DownActivity> getActivities(int userID) { final List<DownActivity> foundActivities = new ArrayList<DownActivity>(); Activityref.addValueEventListener( new ValueEventListener() { @Override public void onDataChange(DataSnapshot snapshot) { GenericTypeIndicator<List<DownActivity>> t = new GenericTypeIndicator<List<DownActivity>>() {}; List<DownActivity> messages = snapshot.getValue(t); if (messages == null) { System.out.println("No activities"); } else { System.out.println("The first message is: " + messages.get(0)); } foundActivities.addAll(messages); } @Override public void onCancelled(FirebaseError error) { System.err.println("Listener was cancelled"); } }); return foundActivities; }
// Must make sure 'spot' and 'firebase' correspond to the same spot public static void addListener( final String spot, final String task, final Firebase firebase, final OnSpotUpdate listenerAction, final Class clazz) { ValueEventListener listener = new ValueEventListener() { @Override public void onDataChange(DataSnapshot snapshot) { listenerAction.onUpdate(snapshot, spot, task, clazz); } @Override public void onCancelled(FirebaseError firebaseError) { System.out.println("Failed to create listener: " + firebaseError.getMessage()); } }; firebase.addValueEventListener(listener); ArrayList<SpotListener> spotListenerList = listeners.get(spot); if (spotListenerList == null) { listeners.put(spot, new ArrayList<SpotListener>()); spotListenerList = listeners.get(spot); } spotListenerList.add(new SpotListener(firebase, listener, spot, task)); print(); }
private void addValues() { url.addValueEventListener( new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { myTask.clear(); for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()) { Task task = dataSnapshot1.getValue(Task.class); myTask.add(task); } if (addValue == 0) { adapter = new TaskAdaptorIn(myTask, getActivity()); taskList.setAdapter(adapter); addValue++; clickList(); } refresh(); } @Override public void onCancelled(FirebaseError firebaseError) { Toast.makeText(getActivity(), "Error:" + firebaseError.getMessage(), Toast.LENGTH_LONG) .show(); } }); }
public void register(View view) { EditText nameText = (EditText) findViewById(R.id.name); name = nameText.getText().toString().toLowerCase(); EditText passText = (EditText) findViewById(R.id.pass); password = passText.getText().toString().toLowerCase(); usersFirebase.addValueEventListener( new ValueEventListener() { @Override public void onDataChange(DataSnapshot snapshot) { userExists = false; for (DataSnapshot postSnapshot : snapshot.getChildren()) { User user = postSnapshot.getValue(User.class); if (user.getName().equals(name)) { userExists = true; break; } } // remove eventlistener to ignore redundant callbacks usersFirebase.removeEventListener(this); if (userExists) { Log.i("PvCProject", "User Exists"); } else { User user = new User(name, password, null, null); usersFirebase.push().setValue(user); Log.i("PvCProject", "User Created"); } } @Override public void onCancelled(FirebaseError firebaseError) {} }); }
public void loadActivities() { Firebase ref = new Firebase("https://sizzling-torch-8367.firebaseio.com/users/" + id + "/activities"); ref.addValueEventListener( new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { activityViews = new ArrayList<>(); LinearLayout layout = (LinearLayout) findViewById(R.id.EditResumeLinearLayoutActivities); layout.removeAllViews(); for (DataSnapshot activity : dataSnapshot.getChildren()) { TextView textView = new TextView(EditResumeActivity.this); textView.setText(activity.getValue().toString()); activityViews.add(new FirebaseString(activity.getKey(), textView)); } for (int i = 0; i < activityViews.size(); i++) { layout.addView(activityViews.get(i).getTextview(), i); } } @Override public void onCancelled(FirebaseError firebaseError) {} }); }
@Override public void onBindViewHolder(final CashierAdapter.ViewHolder holder, final int position) { final KitchenOpen item = getItem(position); holder.vTextBillNo.setText(item.getOrderid()); mOrderId = item.getOrderid(); // float mServiceTax = item.getTotalamount() * 13 / 100; // mTotalAmount = item.getTotalamount() + mServiceTax; holder.vTextTotalAmount.setText("TOTAL AMOUNT : " + item.getTotalamount() + ""); holder.vTextTableNo.setText("" + item.getTableid()); // TODO FIX SOME LATE BUG HERE holder.vCashierCard.setOnTouchListener( new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if (cashierClickListner != null) { mOrderId = item.getOrderid(); cashierClickListner.itemClicked( v, mOrderId, item.getSno(), item.getTableid(), item.getTotalamount()); return true; } else { return false; } } }); initFirebase(mOrderId); // RECYCLER VIEW mMyAdapter = new CashierItemAdapter(mQuery, Order.class, mAdapterItems, mAdapterKeys); LinearLayoutManager linearLayout = new LinearLayoutManager(context); linearLayout.setOrientation(LinearLayoutManager.VERTICAL); holder.recyclerView.setLayoutManager(linearLayout); holder.recyclerView.setLayoutManager(new LinearLayoutManager(context)); holder.recyclerView.setAdapter(mMyAdapter); holder.recyclerView.setEnabled(false); String mActiveLink = context.getResources().getString(R.string.FireBase_Delivery_URL) + "/" + mOrderId; final Firebase mRef = new Firebase(mActiveLink); mRef.addValueEventListener( new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { boolean vExist = dataSnapshot.exists(); if (vExist) { Delivery post = dataSnapshot.getValue(Delivery.class); holder.vTextTableNo.setText( "" + String.format("%1$.2f", post.getMobileno()).split("\\.")[0]); } } @Override public void onCancelled(FirebaseError firebaseError) { System.out.println("The read failed: " + firebaseError.getMessage()); } }); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = (TextView) findViewById(R.id.result); addBtn = (Button) findViewById(R.id.addBtn); addBtn.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { if (firebase == null) return; Calendar calendar = Calendar.getInstance(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss:SSS"); String value = simpleDateFormat.format(calendar.getTime()); HashMap<String, Object> map = new HashMap<String, Object>(); map.put("data", value); map.put("time", ServerValue.TIMESTAMP); firebase.child("newRecords").updateChildren(map); Log.d(TAG, "OnClick : " + value); } }); firebase = new Firebase(FIREBASE_ROOT); firebase.addValueEventListener( new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { if (dataSnapshot.getValue() == null) return; result = dataSnapshot.getValue().toString(); textView.setText(result); } @Override public void onCancelled(FirebaseError firebaseError) { Log.e(TAG, firebaseError.getDetails()); } }); firebase .child("newRecords") .addValueEventListener( new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { Log.d(TAG, "newRecords onDataChange: " + dataSnapshot.toString()); } @Override public void onCancelled(FirebaseError firebaseError) {} }); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_profile_view); Toolbar toolBar = (Toolbar) findViewById(R.id.toolbar2); setSupportActionBar(toolBar); getSupportActionBar().setHomeButtonEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true); Firebase.setAndroidContext(this); toolBar.setNavigationOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { onBackPressed(); } }); final SharedPreferences profile = this.getSharedPreferences("Login", 0); userName = profile.getString("mobile", null); Log.d("dummy", userName); Firebase ref = new Firebase("https://bloodmanagement.firebaseio.com/Users/" + userName); ref.addValueEventListener( new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { firstName = dataSnapshot.child("first_name").getValue().toString(); lastName = dataSnapshot.child("last_name").getValue().toString(); password = dataSnapshot.child("password").getValue().toString(); mobile = dataSnapshot.child("mobile").getValue().toString(); bloodGroup = dataSnapshot.child("blood_group").getValue().toString(); profile_textview_first_name = (TextView) findViewById(R.id.profile_view_first_name); profile_textview_last_name = (TextView) findViewById(R.id.profile_view_last_name); profile_textview_email = (TextView) findViewById(R.id.profile_view_email); profile_textview_password = (TextView) findViewById(R.id.profile_view_password); profile_textview_mobile = (TextView) findViewById(R.id.profile_view_mobile); profile_textview_blood_group = (TextView) findViewById(R.id.profile_view_blood_group); profile_textview_first_name.setText(firstName + " " + lastName); // profile_textview_last_name.setText(lastName); profile_textview_email.setText(userName); profile_textview_password.setText(password); profile_textview_mobile.setText(mobile); profile_textview_blood_group.setText(bloodGroup); } @Override public void onCancelled(FirebaseError firebaseError) {} }); }
public boolean validateUser(final String User) { RegistrationRef.addValueEventListener( new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { if (dataSnapshot.hasChild(User)) { flag = true; } } @Override public void onCancelled(FirebaseError firebaseError) {} }); return flag; }
@Override public View getView(int position, View view, ViewGroup parent) { LayoutInflater inflater = context.getLayoutInflater(); View rowView = inflater.inflate(R.layout.list_single, null, true); txtname = (TextView) rowView.findViewById(R.id.txt1); txtrelation = (TextView) rowView.findViewById(R.id.txt2); imageView = (ImageView) rowView.findViewById(R.id.img); txtname.setText(name[position]); txtrelation.setText(relation[position]); imageView.setImageResource(imageId[position]); myFirebaseRef.addValueEventListener( new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { txtname.setText( String.valueOf( dataSnapshot .child("Relations") .child(String.valueOf(pos)) .child("Name") .getValue())); txtrelation.setText( String.valueOf( dataSnapshot .child("Relations") .child(String.valueOf(pos)) .child("Relation") .getValue())); Picasso.with(getContext()) .load( String.valueOf( dataSnapshot .child("Relations") .child(String.valueOf(pos)) .child("Image") .getValue())) .into(imageView); } @Override public void onCancelled(FirebaseError firebaseError) {} }); return rowView; }
public void loadHeader() { Firebase ref = new Firebase("https://sizzling-torch-8367.firebaseio.com/users/" + id + "/header"); ref.addValueEventListener( new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { LinearLayout layout = (LinearLayout) findViewById(R.id.EditResumeLinearLayoutHeader); layout.removeAllViews(); TextView name = new TextView(EditResumeActivity.this); TextView careerTitle = new TextView(EditResumeActivity.this); TextView email = new TextView(EditResumeActivity.this); TextView phone = new TextView(EditResumeActivity.this); TextView address = new TextView(EditResumeActivity.this); TextView location = new TextView(EditResumeActivity.this); TextView[] arr = {name, careerTitle, email, phone, address, location}; name.setText( "Name: " + dataSnapshot.child("firstName").getValue().toString() + " " + dataSnapshot.child("lastName").getValue().toString()); careerTitle.setText( "Profession: " + dataSnapshot.child("careerTitle").getValue().toString()); email.setText("Email: " + dataSnapshot.child("email").getValue().toString()); phone.setText("Phone: " + dataSnapshot.child("phone").getValue().toString()); address.setText("Address: " + dataSnapshot.child("address").getValue().toString()); location.setText( " " + dataSnapshot.child("city").getValue().toString() + ", " + dataSnapshot.child("state").getValue().toString() + " " + dataSnapshot.child("zipCode").getValue().toString()); for (int i = 0; i < arr.length; i++) { layout.addView(arr[i], i); } } @Override public void onCancelled(FirebaseError firebaseError) {} }); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_detalhe); Firebase.setAndroidContext(this); myFirebaseRef = new Firebase(Constants.FIREBASE_URL); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); if (getIntent().hasExtra("FirebaseID")) { FirebaseID = getIntent().getStringExtra("FirebaseID"); Firebase refContato = myFirebaseRef.child(FirebaseID); ValueEventListener refContatoListener = refContato.addValueEventListener( new ValueEventListener() { @Override public void onDataChange(DataSnapshot snapshot) { c = snapshot.getValue(Contato.class); if (c != null) { EditText nameText = (EditText) findViewById(R.id.editText1); nameText.setText(c.getNome()); EditText foneText = (EditText) findViewById(R.id.editText2); foneText.setText(c.getFone()); EditText emailText = (EditText) findViewById(R.id.editText3); emailText.setText(c.getEmail()); } } @Override public void onCancelled(FirebaseError firebaseError) { Log.e("LOG", firebaseError.getMessage()); } }); } }
/** * Fetch the ids of highest overall rated movies * * @param fb Firebase reference * @param callback called with a List of rotten tomato movie id's */ public static void highestRatedOverall( final Firebase fb, final RottenApi.Callback<List<Long>> callback) { final String ratingsString = "ratings"; fb.addValueEventListener( new ValueEventListener() { @Override public void onDataChange(DataSnapshot snapshot) { Map<Long, List<Float>> all_ratings = new HashMap<>(); Map<String, Map<String, Object>> users = (Map<String, Map<String, Object>>) snapshot.child("users").getValue(); for (Map<String, Object> user : users.values()) { Log.i("dank memes", user.toString()); if (user.containsKey(ratingsString)) { Map<String, String> user_ratings = (Map<String, String>) user.get(ratingsString); for (String movie_id : user_ratings.keySet()) { if (!all_ratings.containsKey(movie_id)) { all_ratings.put(Long.parseLong(movie_id), new ArrayList<Float>()); } all_ratings .get(Long.parseLong(movie_id)) .add(Float.parseFloat(user_ratings.get(movie_id))); } } } Map<Long, Float> avg_ratings = get_average_ratings(all_ratings); List<Map.Entry<Long, Float>> entry_list = get_entries(avg_ratings); List<Long> movie_ids = new ArrayList(); for (Map.Entry<Long, Float> entry : entry_list) { movie_ids.add(entry.getKey()); } fb.removeEventListener(this); callback.success(movie_ids); } @Override public void onCancelled(FirebaseError firebaseError) {} }); }
private void initializeListener(Context context, AttributeSet attrs) { if (context == null) { throw new RuntimeException("dynamoId must be specified in an attribute in the xml."); } mContext = (DynamoContextImpl) Dynamo.getContext(); mDynamoId = mContext.getDynamoId(context, attrs); mRef = mContext.getFirebaseRef().child("text_views").child(mDynamoId); mRef.addValueEventListener( new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { HashMap<String, String> value = null; if (dataSnapshot.getValue() != null) { value = (HashMap<String, String>) dataSnapshot.getValue(); } if (value != null) { String text = value.get("text"); if (text != null) { DynamoTextView.this.setText(text); } String color = value.get("color"); if (color != null) { ColorDrawable background = new ColorDrawable(Color.parseColor(color)); DynamoTextView.this.setBackground(background); } String fontColor = value.get("font_color"); if (fontColor != null) { DynamoTextView.this.setTextColor(Color.parseColor(fontColor)); } String fontSize = value.get("font_size"); if (fontSize != null) { DynamoTextView.this.setTextSize(Float.valueOf(fontSize)); } } } @Override public void onCancelled(FirebaseError firebaseError) { // NOP } }); }
/** Called when the user clicks the Send button */ public void login(View view) { EditText nameText = (EditText) findViewById(R.id.name); name = nameText.getText().toString().toLowerCase(); EditText passText = (EditText) findViewById(R.id.pass); password = passText.getText().toString().toLowerCase(); usersFirebase.addValueEventListener( new ValueEventListener() { @Override public void onDataChange(DataSnapshot snapshot) { authenticated = false; for (DataSnapshot postSnapshot : snapshot.getChildren()) { User user = postSnapshot.getValue(User.class); if (user.getPassword().equals(password) && user.getName().equals(name)) { authenticated = true; dBID = postSnapshot.getKey(); break; } } // remove eventlistener to ignore redundant callbacks usersFirebase.removeEventListener(this); if (authenticated) { Log.i("PvCProject", "Authentication Successful"); intent.putExtra(EXTRA_NAME, name); intent.putExtra(EXTRA_PASS, password); intent.putExtra(EXTRA_DBID, dBID); startActivity(intent); } else { Log.i("PvCProject", "Authentication Failed"); } } @Override public void onCancelled(FirebaseError error) {} }); }
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_maps); setUpMapIfNeeded(); Firebase myFirebaseRef = new Firebase("https://fortune.firebaseio.com/locales"); myFirebaseRef.keepSynced(true); myFirebaseRef.addValueEventListener( new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { Log.i("Locales", dataSnapshot.getChildrenCount() + " locales"); for (DataSnapshot localSnapshot : dataSnapshot.getChildren()) { Local local = (Local) localSnapshot.getValue(Local.class); local.set_id(localSnapshot.getKey()); Log.i("Local", local.toString()); locales.add(local); addLocalMap(local); mMap.setOnInfoWindowClickListener( new OnInfoWindowClickListener() { @Override public void onInfoWindowClick(Marker marker) { final Local l = mHashMap.get(marker); if (l != null) { AlertDialog.Builder builder = new AlertDialog.Builder(MapsActivity.this); builder.setTitle(l.getTitulo()); String disponible = l.getDisponible() ? "Disponible" : "No Disoponible"; builder.setMessage( l.getDescripcion() + "\n" + l.getDireccion() + "\nTel:" + l.getTelefono() + "\nPrecio: G." + l.getPrecio() + "\nEstado:" + disponible); AlertDialog dialog = builder.create(); dialog.setButton( "LLamar", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Crouton.makeText( MapsActivity.this, "Llamando al " + l.getTelefono(), Style.INFO) .show(); Intent i = new Intent( android.content.Intent.ACTION_DIAL, Uri.parse("tel:" + l.getTelefono())); startActivity(i); } }); dialog.setButton2( "Ver Fotos", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Crouton.makeText(MapsActivity.this, "Ver fotos", Style.CONFIRM) .show(); Intent i = new Intent( MapsActivity.this.getApplicationContext(), FotosActivity.class); i.putExtra("id", l.get_id()); i.putExtra("titulo", l.getTitulo()); i.putExtra("detalle", l.getDescripcion()); startActivity(i); } }); dialog.show(); } } }); mMap.setOnMarkerClickListener( new GoogleMap.OnMarkerClickListener() { @Override public boolean onMarkerClick(Marker marker) { Local l = mHashMap.get(marker); if (l != null) Crouton.makeText(MapsActivity.this, l.getDescripcion(), Style.INFO).show(); return false; } }); } } @Override public void onCancelled(FirebaseError firebaseError) { Log.e("Locales", firebaseError.getMessage()); } }); }
/** * ****************************************************************************************** * Function name: Description: Parameters: Returns: * **************************************************************************************** */ protected void ListOnCreate(final Bundle savedInstanceState, final boolean grocery) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_simple_list_details); /* Get the push ID from the extra passed by ShoppingListFragment */ Intent intent = this.getIntent(); mListId = intent.getStringExtra(Constants.KEY_LIST_ID); if (mListId == null) { /* No point in continuing without a valid ID. */ finish(); return; } mbGrocery = grocery; /** Create Firebase references */ Firebase listItemsRef; if (mbGrocery) { mSimpleListRef = new Firebase(Constants.FIREBASE_URL_GROCERY_LISTS).child(mListId); listItemsRef = new Firebase(Constants.FIREBASE_URL_GROCERY_LIST_ITEMS).child(mListId); } else { mSimpleListRef = new Firebase(Constants.FIREBASE_URL_KITCHEN_INVENTORY).child(mListId); listItemsRef = new Firebase(Constants.FIREBASE_URL_KITCHEN_INVENTORY_ITEMS).child(mListId); } /** Link layout elements from XML and setup the toolbar? */ initializeScreen(); /** Setup the adapter */ mSimpleListItemAdapter = new SimpleListItemAdapter( this, SimpleListItem.class, R.layout.single_active_list_item, listItemsRef, mListId, mEncodedEmail, mbGrocery); /* Create ActiveListItemAdapter and set to listView */ mListView.setAdapter(mSimpleListItemAdapter); /** * Add ValueEventListeners to Firebase references to control get data and control behavior and * visibility of elements */ /** * Save the most recent version of current shopping list into mShoppingList instance variable an * update the UI to match the current list. */ mSimpleListRefListener = mSimpleListRef.addValueEventListener( new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { SimpleList simpleList = dataSnapshot.getValue(SimpleList.class); if (null == simpleList) { finish(); return; } mSimpleList = simpleList; mSimpleListItemAdapter.setList(mSimpleList); mbCurrentUserIsOwner = Utils.checkIfOwner(simpleList, mEncodedEmail); // invalidateOptionsMenu(); // setTitle(simpleList.getmListName()); } @Override public void onCancelled(FirebaseError firebaseError) { Log.e(LOG_TAG, "FAILED SOMEHOW AH" + firebaseError.getMessage()); } }); mListView.setOnItemClickListener( new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // TODO the things that happen when we click on the item } }); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_mes_trajets); Intent intent = getIntent(); final String typeDem = intent.getStringExtra("type"); final ListView listView = (ListView) findViewById(R.id.listView); final ArrayList<HashMap<String, String>> listTrajet = new ArrayList<>(); final Firebase myFireBase = new Firebase("https://bettercallsam.firebaseio.com/"); final AuthData authData = myFireBase.getAuth(); if (authData != null) { final String idUtilisateur = authData.getUid(); myFireBase.addValueEventListener( new ValueEventListener() { // S'il est connecté, on récupère ses informations @Override public void onDataChange(DataSnapshot snapshot) { HashMap<String, String> map; if (typeDem.equals("passager")) { List<String> listReservIdTrajet = new ArrayList<String>(); for (DataSnapshot postSnapshot : snapshot.child("reservations").getChildren()) { Reservation reserv = postSnapshot.getValue(Reservation.class); if (idUtilisateur.equals(reserv.getPassager())) { listReservIdTrajet.add(reserv.getTrajet()); } } for (DataSnapshot postSnapshot : snapshot.child("trips").getChildren()) { Trajet trajet = postSnapshot.getValue(Trajet.class); if (listReservIdTrajet.contains(postSnapshot.getKey())) { compt++; String villeArrivee = trajet.getVilleArrivee().toString(); String adDep = trajet.getAdresseDepart().toString(); String adArr = trajet.getAdresseArrivee().toString(); String villeDepart = trajet.getVilleDepart().toString(); String dateDep = trajet.getDateDepart().toString(); String heureDep = trajet.getHeureDepart().toString(); String placeDispo = Integer.toString(trajet.getNombrePlaceDisponibles()); map = new HashMap<String, String>(); map.put("departVille", "Ville de depart : " + villeDepart); map.put("departAdresse", "Adresse de départ : " + adDep); map.put("arriveeVille", "Ville d'arrivée : " + villeArrivee); map.put("arriveeAdresse", "Adresse d'arrivée : " + adArr); map.put("date", "Départ le " + dateDep + " à " + heureDep); map.put("nbPlaces", "Nombre de places disponibles : " + placeDispo); map.put("idTrajet", postSnapshot.getKey()); listTrajet.add(map); } } } else { for (DataSnapshot postSnapshot : snapshot.child("trips").getChildren()) { Trajet trajet = postSnapshot.getValue(Trajet.class); if (idUtilisateur.equals(trajet.getConducteur())) { compt++; String villeArrivee = trajet.getVilleArrivee().toString(); String adDep = trajet.getAdresseDepart().toString(); String adArr = trajet.getAdresseArrivee().toString(); String villeDepart = trajet.getVilleDepart().toString(); String dateDep = trajet.getDateDepart().toString(); String heureDep = trajet.getHeureDepart().toString(); String placeDispo = Integer.toString(trajet.getNombrePlaceDisponibles()); map = new HashMap<String, String>(); map.put("departVille", "Ville de depart : " + villeDepart); map.put("departAdresse", "Adresse de départ : " + adDep); map.put("arriveeVille", "Ville d'arrivée : " + villeArrivee); map.put("arriveeAdresse", "Adresse d'arrivée : " + adArr); map.put("date", "Départ le " + dateDep + " à " + heureDep); map.put("nbPlaces", "Nombre de places disponibles : " + placeDispo); map.put("idTrajet", postSnapshot.getKey()); listTrajet.add(map); } } } /* if (compt == 0) { final String erreur = "Il n'y a pas de trajet"; listTrajet.add(erreur); }*/ final SimpleAdapter mSchedule = new SimpleAdapter( getApplicationContext(), listTrajet, R.layout.activity_affichage_item, new String[] { "departVille", "departAdresse", "arriveeVille", "arriveeAdresse", "date", "nbPlaces", "idTrajet" }, new int[] { R.id.departVille, R.id.departAdresse, R.id.arriveeVille, R.id.arriveeAdresse, R.id.date, R.id.nbPlaces, R.id.idTrajet }); listView.setAdapter(mSchedule); listView.setOnItemClickListener( new AdapterView.OnItemClickListener() { @Override public void onItemClick( AdapterView<?> parent, View view, int position, long id) { HashMap<String, String> map = (HashMap<String, String>) listView.getItemAtPosition(position); final Intent intent = new Intent(MesTrajets.this, AffichageDetailsTrajet.class); intent.putExtra("trajet", map.get("idTrajet")); intent.putExtra("nbPlacesReservees", 3); startActivity(intent); } }); } @Override public void onCancelled(FirebaseError firebaseError) {} }); } else // S'il n'est pas connecté, on le redirige sur l'activité principale startActivity(new Intent(this, MainActivity.class)); }
@Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_active_list_details); /* Get the push ID from the extra passed by ShoppingListFragment */ Intent intent = this.getIntent(); mListId = intent.getStringExtra(Constants.KEY_LIST_ID); if (mListId == null) { /* No point in continuing without a valid ID. */ finish(); return; } /** Create Firebase references */ mCurrentListRef = new Firebase(Constants.FIREBASE_URL_USER_LISTS).child(mEncodedEmail).child(mListId); mCurrentUserRef = new Firebase(Constants.FIREBASE_URL_USERS).child(mEncodedEmail); mSharedWithRef = new Firebase(Constants.FIREBASE_URL_LISTS_SHARED_WITH).child(mListId); Firebase listItemsRef = new Firebase(Constants.FIREBASE_URL_SHOPPING_LIST_ITEMS).child(mListId); /** Link layout elements from XML and setup the toolbar */ initializeScreen(); /** Setup the adapter */ mActiveListItemAdapter = new ActiveListItemAdapter( this, ShoppingListItem.class, R.layout.single_active_list_item, listItemsRef.orderByChild(Constants.FIREBASE_PROPERTY_BOUGHT_BY), mListId, mEncodedEmail); /* Create ActiveListItemAdapter and set to listView */ mListView.setAdapter(mActiveListItemAdapter); /** * Add ValueEventListeners to Firebase references to control get data and control behavior and * visibility of elements */ /* Save the most up-to-date version of current user in mCurrentUser */ mCurrentUserRefListener = mCurrentUserRef.addValueEventListener( new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { User currentUser = dataSnapshot.getValue(User.class); if (currentUser != null) mCurrentUser = currentUser; else finish(); } @Override public void onCancelled(FirebaseError firebaseError) { Log.e( LOG_TAG, getString(R.string.log_error_the_read_failed) + firebaseError.getMessage()); } }); final Activity thisActivity = this; /** * Save the most recent version of current shopping list into mShoppingList instance variable an * update the UI to match the current list. */ mCurrentListRefListener = mCurrentListRef.addValueEventListener( new ValueEventListener() { @Override public void onDataChange(DataSnapshot snapshot) { /** * Saving the most recent version of current shopping list into mShoppingList if * present finish() the activity if the list is null (list was removed or unshared * by it's owner while current user is in the list details activity) */ ShoppingList shoppingList = snapshot.getValue(ShoppingList.class); if (shoppingList == null) { finish(); /** * Make sure to call return, otherwise the rest of the method will execute, even * after calling finish. */ return; } mShoppingList = shoppingList; /** * Pass the shopping list to the adapter if it is not null. We do this here because * mShoppingList is null when first created. */ mActiveListItemAdapter.setShoppingList(mShoppingList); /* Check if the current user is owner */ mCurrentUserIsOwner = Utils.checkIfOwner(shoppingList, mEncodedEmail); /* Calling invalidateOptionsMenu causes onCreateOptionsMenu to be called */ invalidateOptionsMenu(); /* Set title appropriately. */ setTitle(shoppingList.getListName()); HashMap<String, User> usersShopping = mShoppingList.getUsersShopping(); if (usersShopping != null && usersShopping.size() != 0 && usersShopping.containsKey(mEncodedEmail)) { mShopping = true; mButtonShopping.setText(getString(R.string.button_stop_shopping)); mButtonShopping.setBackgroundColor( ContextCompat.getColor(ActiveListDetailsActivity.this, R.color.dark_grey)); } else { mButtonShopping.setText(getString(R.string.button_start_shopping)); mButtonShopping.setBackgroundColor( ContextCompat.getColor(ActiveListDetailsActivity.this, R.color.primary_dark)); mShopping = false; } setWhosShoppingText(mShoppingList.getUsersShopping()); } @Override public void onCancelled(FirebaseError firebaseError) { Log.e( LOG_TAG, getString(R.string.log_error_the_read_failed) + firebaseError.getMessage()); } }); mSharedWithListener = mSharedWithRef.addValueEventListener( new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { mSharedWithUsers = new HashMap<String, User>(); for (DataSnapshot currentUser : dataSnapshot.getChildren()) { mSharedWithUsers.put(currentUser.getKey(), currentUser.getValue(User.class)); } mActiveListItemAdapter.setSharedWithUsers(mSharedWithUsers); } @Override public void onCancelled(FirebaseError firebaseError) { Log.e( LOG_TAG, getString(R.string.log_error_the_read_failed) + firebaseError.getMessage()); } }); /** Set up click listeners for interaction. */ /* Show edit list item name dialog on listView item long click event */ mListView.setOnItemLongClickListener( new AdapterView.OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) { /* Check that the view is not the empty footer item */ if (view.getId() != R.id.list_view_footer_empty) { ShoppingListItem shoppingListItem = mActiveListItemAdapter.getItem(position); if (shoppingListItem != null) { /* If the person is the owner and not shopping and the item is not bought, then they can edit it. */ if (shoppingListItem.getOwner().equals(mEncodedEmail) && !mShopping && !shoppingListItem.isBought()) { String itemName = shoppingListItem.getItemName(); String itemId = mActiveListItemAdapter.getRef(position).getKey(); showEditListItemNameDialog(itemName, itemId); return true; } } } return false; } }); /* Perform buy/return action on listView item click event if current user is shopping. */ mListView.setOnItemClickListener( new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { /* Check that the view is not the empty footer item */ if (view.getId() != R.id.list_view_footer_empty) { final ShoppingListItem selectedListItem = mActiveListItemAdapter.getItem(position); String itemId = mActiveListItemAdapter.getRef(position).getKey(); if (selectedListItem != null) { /* If current user is shopping */ if (mShopping) { /* Create map and fill it in with deep path multi write operations list */ HashMap<String, Object> updatedItemBoughtData = new HashMap<String, Object>(); /* Buy selected item if it is NOT already bought */ if (!selectedListItem.isBought()) { updatedItemBoughtData.put(Constants.FIREBASE_PROPERTY_BOUGHT, true); updatedItemBoughtData.put(Constants.FIREBASE_PROPERTY_BOUGHT_BY, mEncodedEmail); } else { /* Return selected item only if it was bought by current user */ if (selectedListItem.getBoughtBy().equals(mEncodedEmail)) { updatedItemBoughtData.put(Constants.FIREBASE_PROPERTY_BOUGHT, false); updatedItemBoughtData.put(Constants.FIREBASE_PROPERTY_BOUGHT_BY, null); } } /* Do update */ Firebase firebaseItemLocation = new Firebase(Constants.FIREBASE_URL_SHOPPING_LIST_ITEMS) .child(mListId) .child(itemId); firebaseItemLocation.updateChildren( updatedItemBoughtData, new Firebase.CompletionListener() { @Override public void onComplete(FirebaseError firebaseError, Firebase firebase) { if (firebaseError != null) { Log.d( LOG_TAG, getString(R.string.log_error_updating_data) + firebaseError.getMessage()); } } }); } } } } }); }
protected void setupStatusReporting() { chatStatusListener = friendTypingRef.addValueEventListener( new ValueEventListener() { @Override public void onDataChange(DataSnapshot data) { if (data.getValue() != null) { boolean typing = Boolean.parseBoolean(data.getValue().toString()); if (typing) { getActionBar().setSubtitle(getString(R.string.typing) + "..."); } else { getActionBar().setSubtitle(null); } } } @Override public void onCancelled(FirebaseError arg0) { getActionBar().setSubtitle(null); } }); onlineStatusListener = friendOnlineRef.addValueEventListener( new ValueEventListener() { @Override public void onDataChange(DataSnapshot data) { if (data.getValue() != null) { boolean online = Boolean.parseBoolean(data.getValue().toString()); if (online) { Log.i(TAG, "Notifications disabled"); messagesFragment.enableNotifications(false); } else { Log.i(TAG, "Notifications enabled"); messagesFragment.enableNotifications(true); } } } @Override public void onCancelled(FirebaseError arg0) { getActionBar().setSubtitle(null); } }); messagesFragment.setOnTypingListener( new OnTypingListener() { @Override public void onTypingStarted() { userTypingRef.setValue(true); } @Override public void onTypingFinished() { userTypingRef.setValue(false); } }); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final EditText txtName = (EditText) findViewById(R.id.txtUserName); final EditText txtPassword = (EditText) findViewById(R.id.txtPassword); Firebase.setAndroidContext(this); Firebase myAccountReference = new Firebase("https://homeiot.firebaseio.com"); myAccountReference.addValueEventListener( new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { UserData = dataSnapshot.getValue().toString(); Log.d("Data", UserData); try { JSONObject object = new JSONObject(UserData); UsernameList = new String[object.names().length()]; PasswordList = new String[object.names().length()]; for (int i = 0; i <= object.names().length(); i++) { UsernameList[i] = object.names().getString(i); PasswordList[i] = object.getJSONObject(object.names().getString(i)).getString("password"); Log.d("Name", UsernameList[i]); Log.d("Password", PasswordList[i]); } } catch (JSONException e) { e.printStackTrace(); } } @Override public void onCancelled(FirebaseError firebaseError) {} }); /*Firebase.setAndroidContext(this); Firebase myFirebaseRef = new Firebase("https://homeiot.firebaseio.com/furqan/lock/history"); DateFormat dateFormatter = new SimpleDateFormat("yyyyMMddhhmmss"); dateFormatter.setLenient(false); Date today = new Date(); String s = dateFormatter.format(today); Map<String, String> unlock = new HashMap<String, String>(); unlock.put("person", "Furqan"); unlock.put("time", s); myFirebaseRef.push().setValue(unlock);*/ Button btnSignIn = (Button) findViewById(R.id.btnSignIn); btnSignIn.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { username = txtName.getText().toString(); password = txtPassword.getText().toString(); if (TextUtils.isEmpty(username)) { txtName.setError("Username Field cannot be empty."); return; } if (TextUtils.isEmpty(password)) { txtPassword.setError("Password Field cannot be empty."); return; } final ProgressDialog ringProgressDialog = ProgressDialog.show(MainActivity.this, "Signing in.", "Please wait ...", true); for (int i = 0; i <= UsernameList.length; i++) { Log.d(username, UsernameList[i]); Log.d(password, PasswordList[i]); if (username.equals(UsernameList[i]) && password.equals(PasswordList[i])) { Intent intent = new Intent(MainActivity.this, LockDetail.class); intent.putExtra("USERNAME", username); ringProgressDialog.dismiss(); startActivity(intent); break; } else { if (i == (UsernameList.length - 1)) { ringProgressDialog.dismiss(); Toast.makeText( getApplicationContext(), "Incorrect Username/Password", Toast.LENGTH_SHORT) .show(); return; } } } } }); }
@Override public void onClick(View v) { Fragment fragment; switch (v.getId()) { case R.id.chose_category: AlertDialog.Builder choseCategoryDialog = new AlertDialog.Builder(getActivity()); choseCategoryDialog.setTitle("Category"); List<Category> categories = Utils.setupCaregories(); CategoryAdapter adapter = new CategoryAdapter(categories, getActivity(), mStuff); choseCategoryDialog.setAdapter(adapter, null); choseCategoryDialog.show(); if (mStuff.getCategory() != null) { Button categoryButton = (Button) v; categoryButton.setText(mStuff.getCategory().getCategoryName()); } break; case R.id.give_stuff_button: if (mStuffsName.getText().toString().length() < 2) { Toast.makeText(getActivity(), "Enter valid Stuffs name", Toast.LENGTH_SHORT).show(); return; } if (mStuff.getCategory() == null) { Toast.makeText(getActivity(), "Chose category", Toast.LENGTH_SHORT).show(); return; } if (mTimeToTake.getText().toString().equals("")) { Toast.makeText(getActivity(), "Enter time to take", Toast.LENGTH_SHORT).show(); return; } if (mPrice.getText().toString().equals("")) { Toast.makeText(getActivity(), "Enter the price", Toast.LENGTH_SHORT).show(); return; } mStuff.setStuffsName(mStuffsName.getText().toString()); mStuff.setTimeToTake(Integer.valueOf(mTimeToTake.getText().toString())); if (mTimeHours.isChecked()) { mStuff.setTypeOfTime(Const.TIME_TYPE_HOURS); } else if (mTimeDays.isChecked()) { mStuff.setTypeOfTime(Const.TIME_TYPE_DAYS); } mStuff.setPrice(Double.valueOf(mPrice.getText().toString())); if (mPricePerDay.isChecked()) { mStuff.setTypeOfTime(Const.PRICE_TYPE_PER_DAY); } else if (mPricePerHour.isChecked()) { mStuff.setTypeOfPrice(Const.PRICE_TYPE_PER_HOUR); } mStuff.setDescription(mDescription.getText().toString()); String usersEmail = null; if (getArguments() != null) { usersEmail = getArguments().getString(Const.ARG_LOGGED_USER); } final User[] seller = {null}; mDatabase.addValueEventListener( new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { seller[0] = dataSnapshot.getValue(User.class); } @Override public void onCancelled(FirebaseError firebaseError) { Log.w(TAG, firebaseError.getMessage()); } }); mStuff.setSeller(seller[0]); mDatabase.push().setValue(mStuff); Toast.makeText(getActivity(), "Success!", Toast.LENGTH_SHORT).show(); fragment = ListStuffsFragment.getInstance(usersEmail); getActivity() .getSupportFragmentManager() .beginTransaction() .replace(R.id.container_activity_main, fragment) .addToBackStack(null) .commit(); break; } }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_waiting_room); // assigner la référence pour la liste mReadyUsersList = (ListView) findViewById(R.id.listView); mArrayList = new ArrayList<>(); mArrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, mArrayList); mReadyUsersList.setAdapter(mArrayAdapter); // recueillir les valeurs passées mCurrentProfile = (UserProfile) getIntent().getExtras().get("profile"); InitialBatterieLevel = (int) getIntent().getExtras().get("batterie"); // mettre le bouton continue invisible. On le rendra visible si la BD dit qu'on est admin mAdminStartButton = (Button) findViewById(R.id.adminStartButton); mAdminStartButton.setVisibility(View.INVISIBLE); // setup la connexion à la BD Firebase.setAndroidContext(this); myFirebaseGroupRef = new Firebase("https://sizzling-inferno-7505.firebaseio.com/") .child("readyGroups") .child(mCurrentProfile.groupName); // S'ajouter à la BD si on n'est pas déjà là. // Ajouter l'usager à la liste des usagers prêts. La valeur deviendra vraie s'ils sont toujours // présents quand l'admin débute la séance. myFirebaseGroupRef .child("members") .runTransaction( new Transaction.Handler() { @Override public Transaction.Result doTransaction(MutableData currentData) { if (!currentData.hasChild(mCurrentProfile.getSanitizedEmail()) || !((Boolean) currentData.child(mCurrentProfile.getSanitizedEmail()).getValue()) .equals(Boolean.TRUE)) { currentData.child(mCurrentProfile.getSanitizedEmail()).setValue(false); } return Transaction.success(currentData); } @Override public void onComplete( FirebaseError firebaseError, boolean b, DataSnapshot dataSnapshot) {} }); // Si l'usager a coché la case organizer, devenir admin s'il n'y en a pas déjà un sur la bd if (mCurrentProfile.organizer) { // On décoche le fait qu'on est admin, parce qu'il faut que la bd le confirme mCurrentProfile.organizer = false; myFirebaseGroupRef .child("organizer") .runTransaction( new Transaction.Handler() { @Override public Transaction.Result doTransaction(MutableData currentData) { // S'il n'y a pad d'organisateur, on se met comme organisateur if (currentData.getValue() == null) { currentData.setValue(mCurrentProfile.getSanitizedEmail()); } else { } return Transaction.success( currentData); // we can also abort by calling Transaction.abort() } @Override public void onComplete( FirebaseError firebaseError, boolean committed, DataSnapshot currentData) { // This method will be called once with the results of the transaction. } }); } // Ajouter un event listener pour s'il y a changement aux membres prêts pour ce groupe myFirebaseGroupRef.addValueEventListener( mValueEventListener = new ValueEventListener() { // TODO: Opter plutot pour onChildAdded et onChildChanged pour éviter d'avoir à // réécrire la liste complète à chaque fois? @Override public void onDataChange(DataSnapshot snapshot) { // Ajouter un listener pour savoir si l'admin a décidé de passer au vote. if (snapshot.hasChild("readyState")) { // On vérifie si notre valeur a été mis à true if (((Boolean) snapshot .child("members/" + mCurrentProfile.getSanitizedEmail()) .getValue()) .equals(Boolean.TRUE)) { startVoteMapActivity(); } else if ((boolean) snapshot.child("readyState").getValue() == true) { // Move to next activity Toast.makeText( WaitingRoomActivity.this, "Le vote est déjà commencé pour ce groupe.", Toast.LENGTH_LONG) .show(); } } if (snapshot.hasChild("members")) { mArrayList.clear(); /*for (DataSnapshot prop : snapshot.child("members").getChildren()) { if (prop.getKey() == "latitude") mCurrentProfile.meetingLatitude += (Double) prop.getValue();//true+true? if (prop.getKey() == "longitude") mCurrentProfile.meetingLongitude += (Double) prop.getValue(); }*/ mArrayList.addAll( ((Map<String, Object>) snapshot.child("members").getValue()).keySet()); mArrayAdapter.notifyDataSetChanged(); } // Si la BD dit qu'on est admin, afficher le bouton if (snapshot.hasChild("organizer")) { if (snapshot .child("organizer") .getValue() .toString() .equals(mCurrentProfile.getSanitizedEmail())) { mAdminStartButton.setVisibility(View.VISIBLE); // remettre la valeur à true si la BD la confirmé mCurrentProfile.organizer = true; ((TextView) findViewById(R.id.organizerTextView)) .setText(snapshot.child("organizer").getValue().toString()); } } } @Override public void onCancelled(FirebaseError firebaseError) { System.out.println("The read failed: " + firebaseError.getMessage()); } }); // Ajouter un event listener pour le bouton pour l'admin mAdminStartButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { // Marquer, dans la BD, que le groupe est prêt pour passer au vote // Trigger l'événement chez tous les clients. myFirebaseGroupRef.child("readyState").setValue(true); for (String user : mArrayList) { myFirebaseGroupRef.child("members").child(user).setValue(true); } myFirebaseGroupRef.child("VotesDate").child("votes1").setValue(0); myFirebaseGroupRef.child("VotesDate").child("votes2").setValue(0); myFirebaseGroupRef.child("VotesDate").child("votes3").setValue(0); myFirebaseGroupRef.child("VotesMap").child("votes1").setValue(0); myFirebaseGroupRef.child("VotesMap").child("votes2").setValue(0); myFirebaseGroupRef.child("VotesMap").child("votes3").setValue(0); } }); }