diff --git a/app/src/main/java/com/afollestad/nocknock/ui/AddSiteActivity.java b/app/src/main/java/com/afollestad/nocknock/ui/AddSiteActivity.java
index 8bce90b..92d8200 100644
--- a/app/src/main/java/com/afollestad/nocknock/ui/AddSiteActivity.java
+++ b/app/src/main/java/com/afollestad/nocknock/ui/AddSiteActivity.java
@@ -26,6 +26,7 @@ import com.afollestad.nocknock.api.ServerStatus;
public class AddSiteActivity extends AppCompatActivity implements View.OnClickListener {
private View rootLayout;
+ private Toolbar toolbar;
private EditText inputName;
private EditText inputUrl;
@@ -44,9 +45,9 @@ public class AddSiteActivity extends AppCompatActivity implements View.OnClickLi
inputInterval = (EditText) findViewById(R.id.checkIntervalInput);
spinnerInterval = (Spinner) findViewById(R.id.checkIntervalSpinner);
- final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
+ toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setNavigationOnClickListener(view -> {
- closeFromNavWithReveal();
+ closeActivityWithReveal();
});
if (savedInstanceState == null) {
@@ -72,38 +73,15 @@ public class AddSiteActivity extends AppCompatActivity implements View.OnClickLi
@Override
public void onBackPressed() {
- closeFromCenterWithReveal();
+ closeActivityWithReveal();
}
- private void closeFromNavWithReveal() {
+ private void closeActivityWithReveal() {
if (isClosing) return;
isClosing = true;
- final int offset = (int) getResources().getDimension(R.dimen.content_inset);
- final int cx = rootLayout.getMeasuredWidth();
- final int cy = rootLayout.getMeasuredHeight();
- float initialRadius = Math.max(cx, cy);
-
- final Animator circularReveal = ViewAnimationUtils.createCircularReveal(rootLayout, offset, offset, initialRadius, 0);
- circularReveal.setDuration(300);
- circularReveal.setInterpolator(new AccelerateInterpolator());
- circularReveal.addListener(new AnimatorListenerAdapter() {
- @Override
- public void onAnimationEnd(Animator animation) {
- super.onAnimationEnd(animation);
- rootLayout.setVisibility(View.INVISIBLE);
- finish();
- overridePendingTransition(0, 0);
- }
- });
-
- circularReveal.start();
- }
-
- private void closeFromCenterWithReveal() {
- if (isClosing) return;
- isClosing = true;
- final int cx = rootLayout.getMeasuredWidth() / 2;
- final int cy = rootLayout.getMeasuredHeight() / 2;
+ final int fabSize = getIntent().getIntExtra("fab_size", toolbar.getMeasuredHeight());
+ final int cx = (int) getIntent().getFloatExtra("fab_x", rootLayout.getMeasuredWidth() / 2) + (fabSize / 2);
+ final int cy = (int) getIntent().getFloatExtra("fab_y", rootLayout.getMeasuredHeight() / 2) + toolbar.getMeasuredHeight() + (fabSize / 2);
float initialRadius = Math.max(cx, cy);
final Animator circularReveal = ViewAnimationUtils.createCircularReveal(rootLayout, cx, cy, initialRadius, 0);
@@ -139,7 +117,7 @@ public class AddSiteActivity extends AppCompatActivity implements View.OnClickLi
@Override
public void onClick(View view) {
isClosing = true;
-
+
ServerModel model = new ServerModel();
model.name = inputName.getText().toString().trim();
model.url = inputUrl.getText().toString().trim();
diff --git a/app/src/main/java/com/afollestad/nocknock/ui/MainActivity.java b/app/src/main/java/com/afollestad/nocknock/ui/MainActivity.java
index 532b1e5..37ca7ac 100644
--- a/app/src/main/java/com/afollestad/nocknock/ui/MainActivity.java
+++ b/app/src/main/java/com/afollestad/nocknock/ui/MainActivity.java
@@ -18,15 +18,18 @@ import android.view.View;
import android.view.animation.PathInterpolator;
import android.widget.TextView;
+import com.afollestad.inquiry.Inquiry;
import com.afollestad.nocknock.R;
import com.afollestad.nocknock.adapter.ServerAdapter;
import com.afollestad.nocknock.api.ServerModel;
-import com.afollestad.nocknock.api.ServerStatus;
import com.afollestad.nocknock.dialogs.AboutDialog;
import com.afollestad.nocknock.util.MathUtil;
public class MainActivity extends AppCompatActivity implements SwipeRefreshLayout.OnRefreshListener, View.OnClickListener {
+ private final static int ADD_SITE_RQ = 6969;
+ private final static String SITES_TABLE_NAME = "sites";
+
private FloatingActionButton mFab;
private RecyclerView mList;
private ServerAdapter mAdapter;
@@ -57,25 +60,17 @@ public class MainActivity extends AppCompatActivity implements SwipeRefreshLayou
mFab = (FloatingActionButton) findViewById(R.id.fab);
mFab.setOnClickListener(this);
- ServerModel model = new ServerModel();
- model.name = "Personal Site";
- model.url = "https://aidanfollestad.com";
- model.id = 1;
- model.status = ServerStatus.OK;
- model.checkInterval = 1000 * 60;
- model.lastCheck = System.currentTimeMillis();
- mAdapter.add(model);
+ Inquiry.init(this, "nocknock", 1);
+ Inquiry.get()
+ .selectFrom(SITES_TABLE_NAME, ServerModel.class)
+ .all(result -> mAdapter.set(result));
+ }
- model = new ServerModel();
- model.name = "Polar Request Manager";
- model.url = "https://polar.aidanfollestad.com";
- model.id = 2;
- model.status = ServerStatus.CHECKING;
- model.checkInterval = 1000 * 60 * 2;
- model.lastCheck = System.currentTimeMillis();
- mAdapter.add(model);
-
- mEmptyText.setVisibility(View.GONE);
+ @Override
+ protected void onPause() {
+ super.onPause();
+ if (isFinishing())
+ Inquiry.deinit();
}
@Override
@@ -113,8 +108,11 @@ public class MainActivity extends AppCompatActivity implements SwipeRefreshLayou
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
- startActivity(new Intent(MainActivity.this, AddSiteActivity.class)
- .addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION));
+ startActivityForResult(new Intent(MainActivity.this, AddSiteActivity.class)
+ .putExtra("fab_x", mOrigFabX)
+ .putExtra("fab_y", mOrigFabY)
+ .putExtra("fab_size", mFab.getMeasuredWidth())
+ .addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION), ADD_SITE_RQ);
mFab.postDelayed(() -> {
mFab.setX(mOrigFabX);
mFab.setY(mOrigFabY);
@@ -123,4 +121,19 @@ public class MainActivity extends AppCompatActivity implements SwipeRefreshLayou
});
mFabAnimator.start();
}
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ if (resultCode == RESULT_OK) {
+ ServerModel model = (ServerModel) data.getSerializableExtra("model");
+ mAdapter.add(model);
+
+ Inquiry.get().insertInto(SITES_TABLE_NAME, ServerModel.class)
+ .values(model)
+ .run(changed -> {
+ //TODO?
+ });
+ }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 5690221..da2f378 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -12,7 +12,7 @@
About
Nock Nock, a simple app designed by Aidan Follestad.
- Website
+ Website
Twitter
Google+
GitHub