protected override void OnCreate(Bundle bundle) { db = new DataBaseWrapper(this.Resources); if ((setting = db.Table <Setting> ().FirstOrDefault()) == null) { db.Insert(setting = new Setting()); } SetTheme(setting.Theme); base.OnCreate(bundle); network = new AsyncNetwork(); db = new DataBaseWrapper(this.Resources); user = db.Table <User>().FirstOrDefault(); if (setting.FontSize == Setting.Size.large) { SetContentView(Resource.Layout.SettingsLarge); } else { SetContentView(Resource.Layout.Settings); } InitializeView(); }
private async Task <int> EventHandling(DataBaseWrapper db, JsonValue result) { if (result.ContainsKey("events")) { JsonArray arr = (JsonArray)result ["events"]; foreach (JsonValue v in arr) { var e = new Event() { type = v ["type"], msg = v ["msg"], nick = v ["nick"], text = v ["text"], time = v ["time"], author = v ["author"] }; db.Insert(e); } if (backgroundService != null) { await backgroundService.UpdateNotifications(); } } if (result.ContainsKey("onLoginError")) { return(1); } return(0); }
protected override void OnCreate(Bundle bundle) { db = new DataBaseWrapper(this.Resources); if ((setting = db.Table <Setting> ().FirstOrDefault()) == null) { db.Insert(setting = new Setting()); } StartupTheme = setting.Theme; SetTheme(setting.Theme); base.OnCreate(bundle); new UpdateChecker(this, db, setting); // Check if the application knows a user. User user = db.Table <User>().FirstOrDefault(); if (user != null && user.user != null) { initializeAuthenticated(user); } else { initializeNotAuthenticated(); } }
protected override void OnCreate(Bundle bundle) { db = new DataBaseWrapper(this.Resources); if ((setting = db.Table <Setting> ().FirstOrDefault()) == null) { db.Insert(setting = new Setting()); } SetTheme(setting.Theme); base.OnCreate(bundle); if (Intent.ActionSend == Intent.Action) { if (Intent.GetStringExtra(Intent.ExtraText) != null) { textShare = Intent.GetStringExtra(Intent.ExtraText); } else { var uriString = Intent.GetParcelableExtra(Intent.ExtraStream).ToString(); var uri = Android.Net.Uri.Parse(uriString); if (uri != null) { fileset.Add(uri); } } } else if (Intent.ActionSendMultiple == Intent.Action) { var uris = Intent.GetParcelableArrayListExtra(Intent.ExtraStream); if (uris != null) { foreach (var uri in uris) { fileset.Add(Android.Net.Uri.Parse(uri.ToString())); } } } // Check if the application knows a user. User user = db.Table <User>().FirstOrDefault(); if (user != null && user.user != null) { initializeAuthenticated(user); } }
public Task <bool> UpdateContacts(DataBaseWrapper db, User user) { string request = String.Format("\"getContacts\":{{}}"); return(CommonNetworkOperations(db, request, user, "onGetContacts", x => { JsonArray arr = (JsonArray)x; foreach (JsonValue v in arr) { var contact = db.Get <Contact> (v ["nick"]); if (contact == null) { contact = new Contact() { nick = v ["nick"] }; db.Insert(contact); } contact.name = v ["name"]; contact.status = v ["status"]; db.Update(contact); } })); }
public Task <bool> UpdateChats(DataBaseWrapper db, User user) { string request = String.Format("\"getChats\":{{}}"); return(CommonNetworkOperations(db, request, user, "onGetChats", x => { JsonArray arr = (JsonArray)x; foreach (JsonValue v in arr) { string conv = v ["conversation"]; var chat = db.Get <Chat> (conv); if (chat == null) { chat = new Chat() { conversation = conv }; db.Insert(chat); } chat.name = v ["name"]; chat.time = v ["time"]; db.Update(chat); } })); }
private void initializeNotAuthenticated() { SetContentView(Resource.Layout.Authentication); Button login = FindViewById <Button> (Resource.Id.login); login.Click += async delegate { InputMethodManager manager = (InputMethodManager)GetSystemService(InputMethodService); manager.HideSoftInputFromWindow(FindViewById <EditText> (Resource.Id.username).WindowToken, 0); manager.HideSoftInputFromWindow(FindViewById <EditText> (Resource.Id.password).WindowToken, 0); manager.HideSoftInputFromWindow(FindViewById <EditText> (Resource.Id.server).WindowToken, 0); login.Text = "Connecting..."; login.Enabled = false; var user = new User() { user = FindViewById <EditText> (Resource.Id.username).Text.ToLower(), password = FindViewById <EditText> (Resource.Id.password).Text, server = !string.IsNullOrEmpty(FindViewById <EditText> (Resource.Id.server).Text) ? FindViewById <EditText> (Resource.Id.server).Text : FindViewById <EditText> (Resource.Id.server).Hint }; if (user.user == "" || user.password == "") { login.Text = "Login"; login.Enabled = true; return; } if (await network.Authenticate(db, user)) { login.Text = "Loading data..."; new Thread(async() => { int i = 0; db.Insert(user); while (!await network.UpdateChats(db, user)) { await network.Authenticate(db, user); } var x = db.Table <Chat> (); int count = x.Count(); var tasks = new List <Task <bool> >(); RunOnUiThread(() => { if (isUnbound()) { return; } initializeAuthenticated(user); }); foreach (var chat in x) { while (!await network.UpdateHistory(db, user, chat, 30)) { await network.Authenticate(db, user); } OnUpdateRequested(); } }).Start(); } else { login.Text = "Retry Login"; login.Enabled = true; } }; }
protected override void OnCreate(Bundle bundle) { db = new DataBaseWrapper(this.Resources); if ((setting = db.Table <Setting> ().FirstOrDefault()) == null) { db.Insert(setting = new Setting()); } StartupTheme = setting.Theme; SetTheme(setting.Theme); base.OnCreate(bundle); SetContentView(Resource.Layout.ChatActivity); conversation = Intent.GetStringExtra("conversation"); chat = db.Get <Chat> (conversation); visibleMessages = chat.VisibleMessages; if (visibleMessages <= 0) { visibleMessages = setting.VisibleMessages; } if (visibleMessages <= 0) { visibleMessages = 30; } Title = SmileyTools.GetSmiledTextUTF(chat.name); ActionBar.SetDisplayHomeAsUpEnabled(true); ActionBar.SetIcon(Resource.Drawable.Icon); user = db.Table <User>().FirstOrDefault(); Button send = FindViewById <Button>(Resource.Id.send); send.Click += delegate { TextView message = FindViewById <TextView>(Resource.Id.message); var msg = message.Text; message.Text = ""; if (msg.Equals("")) { return; } LinearLayout messageList = FindViewById <LinearLayout>(Resource.Id.messageLayout); AddMessage(messageList, new Message() { time = "sending", author = "Du", nick = user.user, text = msg, conversation = this.conversation }); ScrollView scrollView = FindViewById <ScrollView>(Resource.Id.messageScrollView); scrollView.FullScroll(FocusSearchDirection.Down); scrollView.Post(() => scrollView.FullScroll(FocusSearchDirection.Down)); OnBind(); new Thread(async() => { while (!await network.SendMessage(db, user, chat, msg)) { await network.Authenticate(db, user); } }).Start(); }; Button smiley = FindViewById <Button>(Resource.Id.smile); smiley.Click += delegate { // TODO implement smiley stuff... }; }