From 0da291337188e31dbefc6ec82f90f08331c5bccc Mon Sep 17 00:00:00 2001 From: ar-android Date: Tue, 14 Nov 2017 13:35:10 +0700 Subject: [PATCH] adding query date and improve queryview --- aquery/src/main/java/com/aquery/AQuery.java | 9 +++ .../main/java/com/aquery/query/QueryDate.java | 77 +++++++++++++++++++ .../main/java/com/aquery/query/QueryView.java | 6 ++ 3 files changed, 92 insertions(+) diff --git a/aquery/src/main/java/com/aquery/AQuery.java b/aquery/src/main/java/com/aquery/AQuery.java index c558b1a..5b9fd16 100644 --- a/aquery/src/main/java/com/aquery/AQuery.java +++ b/aquery/src/main/java/com/aquery/AQuery.java @@ -17,6 +17,7 @@ import android.view.inputmethod.InputMethodManager; import android.widget.Toast; +import com.aquery.query.QueryDate; import com.aquery.query.QueryNetwork; import com.aquery.query.QuerySqlite; import com.aquery.query.QueryView; @@ -213,4 +214,12 @@ public void setBackIndicator() { public QuerySqlite sql() { return new QuerySqlite(context); } + + public QueryDate date() { + return new QueryDate(now()); + } + + public void clearPref() { + pref.edit().clear().apply(); + } } diff --git a/aquery/src/main/java/com/aquery/query/QueryDate.java b/aquery/src/main/java/com/aquery/query/QueryDate.java index 1e3fb91..df54a3a 100644 --- a/aquery/src/main/java/com/aquery/query/QueryDate.java +++ b/aquery/src/main/java/com/aquery/query/QueryDate.java @@ -1,8 +1,85 @@ package com.aquery.query; +import android.annotation.SuppressLint; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; + /** * Created by ocittwo on 11/13/17. */ public class QueryDate { + + private final Calendar calendar; + private long timeMillis; + + private DateFormat defaultFormat; + + public QueryDate(long timeMillis) { + this.timeMillis = timeMillis; + calendar = Calendar.getInstance(); + setTimeMillis(timeMillis); + setDefaultFormat("dd MMM yyyy hh:mm:ss zzz"); + } + + public QueryDate setTimeMillis(long timeMillis) { + this.timeMillis = timeMillis; + return this; + } + + public void setDate(Date date){ + this.timeMillis = date.getTime(); + setTimeMillis(timeMillis); + } + + @SuppressLint("SimpleDateFormat") + public void setDefaultFormat(String pattern) { + this.defaultFormat = new SimpleDateFormat(pattern); + } + + public Date getDate(){ + return calendar.getTime(); + } + + public String defaultFormat() { + return defaultFormat.format(getDate()); + } + + public String format(String pattern) { + setDefaultFormat(pattern); + return defaultFormat.format(getDate()); + } + + @Override + public String toString() { + return defaultFormat(); + } + + public String dayName() { + return format("EEEE"); + } + + public String monthName() { + return format("MMMM"); + } + + public String timeZone() { + return format("zzz"); + } + + public String time() { + return format("hh:mm:ss"); + } + + public String hour() { + return format("hh"); + } + + public String getAmPm() { + return format("a"); + } + } diff --git a/aquery/src/main/java/com/aquery/query/QueryView.java b/aquery/src/main/java/com/aquery/query/QueryView.java index 096b49c..c065696 100644 --- a/aquery/src/main/java/com/aquery/query/QueryView.java +++ b/aquery/src/main/java/com/aquery/query/QueryView.java @@ -1,6 +1,7 @@ package com.aquery.query; import android.content.Context; +import android.support.annotation.IdRes; import android.support.v7.widget.AppCompatEditText; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.LinearLayoutManager; @@ -141,4 +142,9 @@ public void active() { public void inActive() { view.setActivated(false); } + + public QueryView id(@IdRes int id) { + View viewById = view.findViewById(id); + return setView(viewById); + } }