public void SetUserData(FirebaseUser user) { var uid = user.Uid; var name = user.DisplayName; var email = user.Email; var emailVerified = user.IsEmailVerified; var photoUrl = user.PhotoUrl; authAccount = new Account { Uid = uid, Name = name, Email = email, EmailVerified = emailVerified }; dataRef = firData.GetReference($"users/{uid}"); IDictionary <string, Java.Lang.Object> userData = new Dictionary <string, Java.Lang.Object> { { "name", name }, { "email", email } }; dataRef.UpdateChildren(userData); if (watchDir == null) { dataRef.AddChildEventListener(new AcctListener()); watchDir = dataRef.Child("watchItems"); watchDir.AddChildEventListener(new WatchListener()); checkDir = dataRef.Child("checkIns"); checkDir.AddListenerForSingleValueEvent(new CheckinListener()); } }
public void Observe(Action <ObservationType, T> handler) { CancelObservation(); _childEventListener = new ChildEventListener <T>(handler); _dbGroupNode.AddChildEventListener(_childEventListener); }
public DatabaseListView(DatabaseReference data, DatabaseReference nameData, Activity context) { this.context = context; this.data = data; this.SchemaData = nameData; this.imageRes = false; mainView = context.LayoutInflater.Inflate(Resource.Layout.DatabaseItemLayout, null); textView = mainView.FindViewById <TextView>(Resource.Id.textViewNameElement); nameListener = new SchemaListener(this); backgroundShape = new GradientDrawable(); backgroundShape.SetColor(Color.Black.ToArgb()); float size = context.Resources.GetDimension(Resource.Dimension.workplace_image_size); backgroundShape.SetCornerRadius(size / 8); image = mainView.FindViewById <ImageView>(Resource.Id.imageViewElement); image.Background = backgroundShape; image.SetColorFilter(Color.White); image.SetImageResource(Resource.Drawable.icons_question_mark); mainView.SetOnClickListener(this); SchemaData.AddChildEventListener(nameListener); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); OverridePendingTransition(Android.Resource.Animation.FadeIn, Android.Resource.Animation.FadeOut); SetContentView(Resource.Layout.DatabaseActivity); toolbar = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbarMain); if (null != toolbar) { SetSupportActionBar(toolbar); SupportActionBar.SetDisplayHomeAsUpEnabled(true); toolbar.SetTitleTextColor(Color.White); } database = FirebaseDatabase.Instance; databaseSchemaReference = database.GetReferenceFromUrl(Intent.GetStringExtra("databaseSchema")); databaseDataReference = database.GetReferenceFromUrl(Intent.GetStringExtra("databasePath")); sorage = FirebaseStorage.Instance; mainLayout = FindViewById <FrameLayout>(Resource.Id.tableFrame); model = new DatabaseModel(databaseDataReference, databaseSchemaReference); view = model.GetView(this); mainLayout.AddView(view.GetView()); databaseSchemaReference.AddChildEventListener(schemaListener); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); OverridePendingTransition(Android.Resource.Animation.FadeIn, Android.Resource.Animation.FadeOut); SetContentView(Resource.Layout.WorkspaceSchemaEditlayout); Android.Support.V7.Widget.Toolbar toolbar = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbarMain); if (null != toolbar) { SetSupportActionBar(toolbar); SupportActionBar.SetDisplayHomeAsUpEnabled(true); //SupportActionBar.SetTitle(Resource.String.add_new_database_string); } database = FirebaseDatabase.Instance; schemaRef = database.GetReferenceFromUrl(Intent.GetStringExtra("selfSchema")); schemaRef.AddChildEventListener(schemaListener); removeButton = FindViewById <RelativeLayout>(Resource.Id.relativeLayoutDelete); removeButton.SetOnClickListener(this); nameText = FindViewById <EditText>(Resource.Id.editTextWorkspaceName); nameText.AddTextChangedListener(namelistener); }
public void AddChildEvent <T>(string nodeKey, Action <string, T> OnChildAdded, Action <string, T> OnChildRemoved, Action <string, T> OnChildUpdated) { DatabaseReference dr = GetDatabaseReference(nodeKey); if (dr != null) { ChildEventListener <T> listener = new ChildEventListener <T>(OnChildAdded); dr.AddChildEventListener(listener); ChildEventListeners.Add(nodeKey, listener); } }
public ColumnModelChoice(DataSnapshot data) : base(data) { choices = new List <string> { "" }; choiceKeys = new List <string>(); this.Data = this.data; this.data.Clear(); updateListener = new ChoiceUpdate(this); dataReference = data.Child("data").Ref; dataReference.AddChildEventListener(updateListener); }
public RowModel(List <ColumnModel> columns, DatabaseReference Ref) : this() { this.columns = columns; foreach (ColumnModel columnCell in columns) { CellModel m = columnCell.GetCell(); m.RowReference = Ref; cells.Add(m); } rowReference = Ref; rowReference.AddChildEventListener(childListener); rowKey = Ref.Key; }
public void SetTable(DatabaseReference table, DatabaseReference tableName) { consume_name_update = false; if (databaseTable != null) { UnbindListeners(); } databaseTable = table; tableNameData = tableName; this.name = "somename"; columnListener = new ColumnChangeListener(this); rowListener = new RowChangeListener(this); nameListener = new NameChangeListener(this); rowDataListener = new RowDataListener(this); columns.Clear(); foreach (RowModel model in rows) { model.UnbindListeners(); } rows.Clear(); controller.NotifyViewCleared(); tableNameData.AddValueEventListener(nameListener); tableRowData = databaseTable.Child("row_data").Child("new_row_id"); tableRowData.AddValueEventListener(rowDataListener); //load columns databaseColumns = databaseTable.Child("columns"); databaseColumns.AddChildEventListener(columnListener); //load rows databaseRows = databaseTable.Child("rows"); databaseRows.AddChildEventListener(rowListener); }
public DatabaseModel(DatabaseReference dataPlaceReference, DatabaseReference schemaReference) { selfSchemaRef = schemaReference.Ref; tablesSchemaReference = dataPlaceReference.Child("table_data"); tableDataReference = dataPlaceReference.Child("tables"); schemaListener = new SchemaListener(this); newIdListener = new NewTableIdListener(this); tableSchemaListener = new TableNamesListener(this); controller = new DatabaseController(this); tableNames = new List <string>(); tableIds = new List <string>(); currentModel = new TableModel(); consume_name_update = true; selfSchemaRef.AddChildEventListener(schemaListener); tablesSchemaReference.Child("table_names").AddChildEventListener(tableSchemaListener); tablesSchemaReference.Child("new_table_id").AddValueEventListener(newIdListener); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.ItemEditActivity); toolbar = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbarMain); if (null != toolbar) { toolbar.SetBackgroundColor(Color.Gray); toolbar.SetTitleTextColor(Color.White); SetSupportActionBar(toolbar); SupportActionBar.SetDisplayHomeAsUpEnabled(true); SupportActionBar.SetTitle(Resource.String.item_edit_string); } database = FirebaseDatabase.Instance; rowDataRef = database.GetReferenceFromUrl(Intent.GetStringExtra("rowReference")); rowSchemaRef = database.GetReferenceFromUrl(Intent.GetStringExtra("tableSource")).Child("columns"); rowSchemaRef.AddChildEventListener(columnListener); colorRef = database.GetReferenceFromUrl(Intent.GetStringExtra("colorSource")); deleteButton = FindViewById <RelativeLayout>(Resource.Id.relativeLayoutDelete); editButton = FindViewById <RelativeLayout>(Resource.Id.relativeLayoutCustomize); editContentLayout = FindViewById <LinearLayout>(Resource.Id.linearLayoutEditContent); if (colorRef != null) { colorRef.AddValueEventListener(colorListener); } deleteButton.SetOnClickListener(this); editButton.SetOnClickListener(this); row = new RowModel(columns, rowDataRef); editContentLayout.AddView(row.GetEditView(this).GetView(), 0); }
public WorkspaceModel(DatabaseReference baseData, DataSnapshot schemaData) { selfSchemaRef = schemaData.Ref; databasesSchemaRef = baseData.Child("database_data"); databasesDataRef = baseData.Child("databases"); schemaListener = new SchemaListener(this); databaseDataListener = new DatabaseDataListener(this); controller = new WorkspaceController(this); databases = new List <string>(); databasesDataReferences = new List <DatabaseReference>(); databasesSchemaReferences = new List <DatabaseReference>(); modelId = schemaData.Key; name = schemaData.Child("name").Value.ToString(); consume_name_update = true; selfSchemaRef.AddChildEventListener(schemaListener); databasesSchemaRef.Child("databases").AddChildEventListener(databaseDataListener); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.ColumnsEditActivity); toolbar = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbarMain); if (null != toolbar) { toolbar.SetBackgroundColor(Color.LightGray); SetSupportActionBar(toolbar); SupportActionBar.SetDisplayHomeAsUpEnabled(true); SupportActionBar.SetTitle(Resource.String.columns_edit_string); toolbar.SetTitleTextColor(Color.White); } database = FirebaseDatabase.Instance; tableRef = database.GetReferenceFromUrl(Intent.GetStringExtra("tableSource")); columnsRef = tableRef.Child("columns"); columnsData = tableRef.Child("column_data"); colorRef = database.GetReferenceFromUrl(Intent.GetStringExtra("colorSource")); columnsEditView = FindViewById <LinearLayout>(Resource.Id.linearLayoutEditContent); addButtonView = FindViewById(Resource.Id.relativeLayoutActionButtons); addButtonView.SetOnClickListener(this); addButtonView = FindViewById(Resource.Id.imageViewAdd); addButtonView.SetOnClickListener(this); if (colorRef != null) { colorRef.AddValueEventListener(colorListener); } columnsData.Child("new_column_id").AddValueEventListener(columnIdListener); columnsRef.AddChildEventListener(columnsDataListener); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.DatabaseSchemaEditActivity); database = FirebaseDatabase.Instance; databaseSchemaRef = database.GetReferenceFromUrl(Intent.GetStringExtra("databaseSchema")); databaseDataRef = database.GetReferenceFromUrl(Intent.GetStringExtra("databaseDataPath")); toolbar = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbarMain); if (null != toolbar) { SetSupportActionBar(toolbar); SupportActionBar.SetDisplayHomeAsUpEnabled(true); toolbar.SetTitleTextColor(Color.White.ToArgb()); } nameText = FindViewById <EditText>(Resource.Id.editTextDatabaseName); nameText.AddTextChangedListener(nameListener); RelativeLayout deleteButton = FindViewById <RelativeLayout>(Resource.Id.relativeLayoutDelete); deleteButton.SetOnClickListener(this); imagePicker = FindViewById <LinearLayout>(Resource.Id.linearLayoutImagePicker); colorPicker = FindViewById <LinearLayout>(Resource.Id.linearlayoutColorPicker); imageSize = Resources.GetDimension(Resource.Dimension.workplace_image_size); foreach (Color c in DatabaseController.colors) { ImageView newView = new ImageView(this) { Id = Resource.Id.linearlayoutColorPicker }; newView.SetOnClickListener(this); newView.SetImageResource(Resource.Drawable.icons_checkmark); newView.SetBackgroundColor(c); newView.SetColorFilter(c); colorPicker.AddView(newView); } selectedcolor = -1; foreach (int res in DatabaseController.imageResources) { ImageView newView = new ImageView(this) { Id = Resource.Id.linearLayoutImagePicker }; newView.SetImageResource(res); int padding = (int)imageSize / 8; newView.SetPadding(padding, padding, padding, padding); newView.SetMaxHeight((int)imageSize); newView.SetMaxWidth((int)imageSize); newView.SetMinimumHeight((int)imageSize); newView.SetMinimumHeight((int)imageSize); newView.SetScaleType(ImageView.ScaleType.FitXy); newView.SetOnClickListener(this); imagePicker.AddView(newView); } selecteddrawable = -1; databaseSchemaRef.AddChildEventListener(databaseListener); }