Esempio n. 1
0
 internal Query(Database database, Couchbase.Lite.Query query) : this(database, query
                                                                      .GetView())
 {
     limit           = query.limit;
     skip            = query.skip;
     startKey        = query.startKey;
     endKey          = query.endKey;
     descending      = query.descending;
     prefetch        = query.prefetch;
     keys            = query.keys;
     groupLevel      = query.groupLevel;
     mapOnly         = query.mapOnly;
     startKeyDocId   = query.startKeyDocId;
     endKeyDocId     = query.endKeyDocId;
     indexUpdateMode = query.indexUpdateMode;
     allDocsMode     = query.allDocsMode;
 }
Esempio n. 2
0
 internal LiveQuery(Query query) : base(query.GetDatabase(), query.GetView())
 {
     // true == running, false == stopped
     runningState = new AtomicBoolean(false);
     SetLimit(query.GetLimit());
     SetSkip(query.GetSkip());
     SetStartKey(query.GetStartKey());
     SetEndKey(query.GetEndKey());
     SetDescending(query.IsDescending());
     SetPrefetch(query.ShouldPrefetch());
     SetKeys(query.GetKeys());
     SetGroupLevel(query.GetGroupLevel());
     SetMapOnly(query.IsMapOnly());
     SetStartKeyDocId(query.GetStartKeyDocId());
     SetEndKeyDocId(query.GetEndKeyDocId());
     SetIndexUpdateMode(query.GetIndexUpdateMode());
 }
Esempio n. 3
0
 /// <summary>Constructor</summary>
 internal Query(Database database, Query query) 
 : this(database, query.View)
 {
     Limit = query.Limit;
     Skip = query.Skip;
     StartKey = query.StartKey;
     EndKey = query.EndKey;
     Descending = query.Descending;
     Prefetch = query.Prefetch;
     Keys = query.Keys;
     GroupLevel = query.GroupLevel;
     MapOnly = query.MapOnly;
     StartKeyDocId = query.StartKeyDocId;
     EndKeyDocId = query.EndKeyDocId;
     InclusiveStart = query.InclusiveStart;
     InclusiveEnd = query.InclusiveEnd;
     IndexUpdateMode = query.IndexUpdateMode;
     AllDocsMode = query.AllDocsMode;
 }
 public virtual void SetAllDocsMode(Query.AllDocsMode allDocsMode)
 {
     this.allDocsMode = allDocsMode;
 }
 public virtual void SetStale(Query.IndexUpdateMode stale)
 {
     this.stale = stale;
 }
 internal LiveQuery(Query query) : base(query.Database, query.View) { 
     StartKey = query.StartKey;
     EndKey = query.EndKey;
     Descending = query.Descending;
     EndKeyDocId = query.EndKeyDocId;
     StartKeyDocId = query.StartKeyDocId;
     Prefetch = query.Prefetch;
     Limit = query.Limit;
     GroupLevel = query.GroupLevel;
     IncludeDeleted = query.IncludeDeleted;
     InclusiveEnd = query.InclusiveEnd;
     IndexUpdateMode = query.IndexUpdateMode;
     Keys = query.Keys;
     MapOnly = query.MapOnly;
     Skip = query.Skip;
 }
 internal LiveQuery(Query query) : base(query.Database, query.View) { }
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate (bundle);

            RequestWindowFeature(WindowFeatures.IndeterminateProgress);

            // Load contact infos
            string normalizedPhone = Intent.GetStringExtra("normalizedPhone");
            string message = Intent.GetStringExtra("message");

            Contact contact = Contact.GetContactByPhone(normalizedPhone, this);

            // Get database instance
            Database = Manager.SharedInstance.GetDatabase(Tag.ToLower());

            var smsManager = new SMSManager (Database);
            var sms = new SMS(normalizedPhone, message);

            // Create conversation document if not exist
            initConversation (sms);

            // If message comes from notification, add it to db
            string source = (string) Intent.GetStringExtra ("source");
            if (source == "server") {
                sms.Source = source;
                smsManager.AddMessage (sms);
            }

            // Get previous messages
            // TODO : Filer messages to get only those from current conversation
            Query = smsManager.GetQuery(sms.Target);
            Query.Completed += (sender, e) =>
                Log.Verbose(Tag, e.ErrorInfo.ToString() ?? e.Rows.ToString());
            LiveQuery = Query.ToLiveQuery();

            SetContentView (Resource.Layout.Conversation);

            // Activate Back button in Action Bar
            ActionBar.SetHomeButtonEnabled(true);
            ActionBar.SetDisplayHomeAsUpEnabled(true);

            // Rethrive layout fields
            TextView newMessageText = FindViewById<TextView> (Resource.Id.txtMessageBox);
            FloatingActionButton sendMessageButton = FindViewById<FloatingActionButton> (Resource.Id.btnSendMessage);
            LinearLayout layout = FindViewById<LinearLayout> (Resource.Id.mainLinearLayout);
            ListView listView = FindViewById<ListView>(Resource.Id.listViewMessages);

            // Set ActionBar to contact name
            this.Title = contact.DisplayName + " " + contact.NormalizedNumber;

            sendMessageButton.Click += (sender, e) => {
                sms.Message = newMessageText.Text;
                sms.Source = "app";
                Background(sms);

                newMessageText.Text = "";
            };

            Database.Changed += (sender, e) => {
                var changes = e.Changes.ToList();
                foreach (DocumentChange change in changes) {
                    Log.Verbose(Tag, "Document " + change.DocumentId + " changed");
                }
            };

            // Bind listview adapyer to liveQuery
            listView.Adapter = new ListLiveQueryAdapter(this, LiveQuery);
        }
Esempio n. 9
0
			public _Runnable_382(Query _enclosing, Query.QueryCompleteListener onComplete)
			{
				this._enclosing = _enclosing;
				this.onComplete = onComplete;
			}
Esempio n. 10
0
		internal virtual Future RunAsyncInternal(Query.QueryCompleteListener onComplete)
		{
			return database.GetManager().RunAsync(new _Runnable_382(this, onComplete));
		}
Esempio n. 11
0
		public virtual Future RunAsync(Query.QueryCompleteListener onComplete)
		{
			return RunAsyncInternal(onComplete);
		}
Esempio n. 12
0
		public virtual void SetIndexUpdateMode(Query.IndexUpdateMode indexUpdateMode)
		{
			this.indexUpdateMode = indexUpdateMode;
		}
Esempio n. 13
0
 internal LiveQuery(Query query) : base(query.Database, query.View) { 
     this.StartKey = query.StartKey;
     this.EndKey = query.EndKey;
     this.Descending = query.Descending;
     this.EndKeyDocId = query.EndKeyDocId;
     this.StartKeyDocId = query.StartKeyDocId;
     this.Prefetch = query.Prefetch;
     this.Limit = query.Limit;
     this.GroupLevel = query.GroupLevel;
     this.IncludeDeleted = query.IncludeDeleted;
     this.InclusiveEnd = query.InclusiveEnd;
     this.IndexUpdateMode = query.IndexUpdateMode;
     this.Keys = query.Keys;
     this.MapOnly = query.MapOnly;
     this.Skip = query.Skip;
 }