diff --git a/app/app.iml b/app/app.iml
index ae47470..a4ae69a 100644
--- a/app/app.iml
+++ b/app/app.iml
@@ -86,19 +86,29 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/java/com/slymapp/diverlog/DiverLogApplication.java b/app/src/main/java/com/slymapp/diverlog/DiverLogApplication.java
index 1d3bc4a..abc22b2 100644
--- a/app/src/main/java/com/slymapp/diverlog/DiverLogApplication.java
+++ b/app/src/main/java/com/slymapp/diverlog/DiverLogApplication.java
@@ -2,6 +2,7 @@
import android.app.Application;
+import com.beardedhen.androidbootstrap.TypefaceProvider;
import com.jakewharton.threetenabp.AndroidThreeTen;
import com.slymapp.diverlog.infrastructure.realm.RealmHelper;
@@ -12,5 +13,6 @@ public void onCreate() {
super.onCreate();
AndroidThreeTen.init(this);
RealmHelper.initialize(this);
+ TypefaceProvider.registerDefaultIconSets();
}
}
diff --git a/app/src/main/java/com/slymapp/diverlog/view/LogAddActivity.java b/app/src/main/java/com/slymapp/diverlog/view/LogAddActivity.java
index b726941..523b1c2 100644
--- a/app/src/main/java/com/slymapp/diverlog/view/LogAddActivity.java
+++ b/app/src/main/java/com/slymapp/diverlog/view/LogAddActivity.java
@@ -3,7 +3,12 @@
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
+import android.support.constraint.ConstraintLayout;
import android.support.v7.app.AppCompatActivity;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.inputmethod.InputMethodManager;
+import android.widget.FrameLayout;
import com.slymapp.diverlog.R;
import com.slymapp.diverlog.domain.DiverLog;
@@ -38,7 +43,6 @@ public static Intent createIntent(Context context, DiverLog diverLog) {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_log_add);
-
getSupportFragmentManager().beginTransaction()
.replace(R.id.log_add_activity_fragment_container, LogAddFragment.newInstance())
.commit();
diff --git a/app/src/main/java/com/slymapp/diverlog/view/LogAddFragment.java b/app/src/main/java/com/slymapp/diverlog/view/LogAddFragment.java
index a9294ee..db572cd 100644
--- a/app/src/main/java/com/slymapp/diverlog/view/LogAddFragment.java
+++ b/app/src/main/java/com/slymapp/diverlog/view/LogAddFragment.java
@@ -1,16 +1,24 @@
package com.slymapp.diverlog.view;
+import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.app.DatePickerDialog;
+import android.app.TimePickerDialog;
+import android.content.Context;
import android.content.Intent;
import android.databinding.DataBindingUtil;
import android.os.Build;
import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.support.constraint.ConstraintLayout;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
+import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
+import android.view.inputmethod.InputMethodManager;
import android.widget.DatePicker;
+import android.widget.TimePicker;
import android.widget.Toast;
import com.slymapp.diverlog.R;
@@ -47,7 +55,7 @@ public static LogAddFragment newInstance() {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
- View view = inflater.inflate(R.layout.fragment_log_add, container, false);
+ View mainView = inflater.inflate(R.layout.fragment_log_add, container, false);
Intent intent = getActivity().getIntent();
// 破棄された時用の復元処理
@@ -64,11 +72,11 @@ else if (intent != null){
}
// DataBindingはViewHolderとしてのみ利用する
- final FragmentLogAddBinding binding = DataBindingUtil.bind(view);
+ final FragmentLogAddBinding binding = DataBindingUtil.bind(mainView);
binding.logAddDivingNumberValue.setText(String.valueOf(diverLog.getDivingNumber()));
binding.logAddDateValue.setText(DateUtils.toDateString(diverLog.getDate()));
binding.logAddPlaceValue.setText(diverLog.getPlace());
- binding.logAddDateImageButton.setOnClickListener(new View.OnClickListener() {
+ binding.logAddDateValue.setOnClickListener(new View.OnClickListener() {
@TargetApi(Build.VERSION_CODES.N)
@Override
public void onClick(View view) {
@@ -85,12 +93,56 @@ public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
.show();
}
});
- binding.logAddAddBtn.setOnClickListener(new View.OnClickListener() {
+ binding.logAddInTimeValue.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Calendar cal = Calendar.getInstance();
+
+ new TimePickerDialog(getContext(), new TimePickerDialog.OnTimeSetListener() {
+ @Override
+ public void onTimeSet(TimePicker timePicker, int i, int i1) {
+ Date date = DateUtils.createFromTime(i, i1, 0);
+ diverLog.setStartTime(date);
+ binding.logAddInTimeValue.setText(DateUtils.toTimeString(diverLog.getStartTime()));
+ }
+ }, cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.MINUTE), true)
+ .show();
+ }
+ });
+ binding.logAddOutTimeValue.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Calendar cal = Calendar.getInstance();
+
+ new TimePickerDialog(getContext(), new TimePickerDialog.OnTimeSetListener() {
+ @Override
+ public void onTimeSet(TimePicker timePicker, int i, int i1) {
+ Date date = DateUtils.createFromTime(i, i1, 0);
+ diverLog.setStartTime(date);
+ binding.logAddOutTimeValue.setText(DateUtils.toTimeString(diverLog.getStartTime()));
+ }
+ }, cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.MINUTE), true)
+ .show();
+ }
+ });
+ binding.logAddSubmitBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getContext(), "ログの登録完了!(メッセージのみ)", Toast.LENGTH_SHORT).show();
}
});
- return view;
+ binding.logAddMainLayout.setOnFocusChangeListener(new View.OnFocusChangeListener() {
+ @Override
+ public void onFocusChange(View view, boolean b) {
+ if(b){
+ InputMethodManager inputMethodManager = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
+ assert inputMethodManager != null;
+ inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(),
+ InputMethodManager.HIDE_NOT_ALWAYS);
+ view.requestFocus();
+ }
+ }
+ });
+ return mainView;
}
}
diff --git a/app/src/main/java/com/slymapp/diverlog/view/LogDetailFragment.java b/app/src/main/java/com/slymapp/diverlog/view/LogDetailFragment.java
deleted file mode 100644
index 2279ec1..0000000
--- a/app/src/main/java/com/slymapp/diverlog/view/LogDetailFragment.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package com.slymapp.diverlog.view;
-
-import android.content.Context;
-import android.net.Uri;
-import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-
-import com.slymapp.diverlog.R;
-import com.slymapp.diverlog.domain.DiverLog;
-import com.slymapp.diverlog.infrastructure.realm.DiverLogRepositoryImpl;
-import com.slymapp.diverlog.utils.DateUtils;
-
-
-/**
- * ダイバーログの詳細表示Fragment
- */
-public class LogDetailFragment extends Fragment {
-
- private OnFragmentInteractionListener mListener;
- private int divingNo;
-
- public static LogDetailFragment newInstance() {
- return new LogDetailFragment();
- }
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- if (getArguments() != null) {
- divingNo = getArguments().getInt("divingNumber");
- }
- }
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- // Inflate the layout for this fragment
- View view = inflater.inflate(R.layout.fragment_log_detail, container, false);
-
- // ログデータをフェッチ
- DiverLogRepositoryImpl rep = new DiverLogRepositoryImpl();
- DiverLog diverLog = rep.fetch(divingNo);
-
- TextView divingNumber = view.findViewById(R.id.diving_number);
- TextView date = view.findViewById(R.id.date);
- TextView weather = view.findViewById(R.id.weather);
- TextView place = view.findViewById(R.id.place);
- TextView entryMethod = view.findViewById(R.id.entry_method);
- TextView transparent = view.findViewById(R.id.transparent);
- TextView startTime = view.findViewById(R.id.start_time);
- TextView endTime = view.findViewById(R.id.end_time);
- TextView startPressure = view.findViewById(R.id.start_pressure);
- TextView endPressure = view.findViewById(R.id.end_pressure);
- TextView suits = view.findViewById(R.id.suits);
- TextView weight = view.findViewById(R.id.weight);
- TextView averageDepth = view.findViewById(R.id.average_depth);
- TextView maxDepth = view.findViewById(R.id.max_depth);
- TextView temperature = view.findViewById(R.id.temperature);
-
- divingNumber.setText(String.valueOf(diverLog.getDivingNumber()));
- date.setText(DateUtils.toDateString(diverLog.getDate()));
- weather.setText(diverLog.getWeather());
- place.setText(diverLog.getPlace());
- entryMethod.setText(diverLog.getEntryMethod());
- transparent.setText(String.valueOf(diverLog.getTransparent()));
- startTime.setText(DateUtils.toTimeString(diverLog.getStartTime()));
- endTime.setText(DateUtils.toTimeString(diverLog.getEndTime()));
- startPressure.setText(String.valueOf(diverLog.getStartPressure()));
- endPressure.setText(String.valueOf(diverLog.getEndPressure()));
- suits.setText(diverLog.getSuits());
- weight.setText(String.valueOf(diverLog.getWeight()));
- averageDepth.setText(String.valueOf(diverLog.getAverageDepth()));
- maxDepth.setText(String.valueOf(diverLog.getMaxDepth()));
- temperature.setText(String.valueOf(diverLog.getTemperature()));
-
- return view;
- }
-
- @Override
- public void onAttach(Context context) {
- super.onAttach(context);
- if (context instanceof OnFragmentInteractionListener) {
- mListener = (OnFragmentInteractionListener) context;
- } else {
- throw new RuntimeException(context.toString()
- + " must implement OnFragmentInteractionListener");
- }
- }
-
- @Override
- public void onDetach() {
- super.onDetach();
- mListener = null;
- }
-
- public interface OnFragmentInteractionListener {
- void onFragmentInteraction(Uri uri);
- }
-}
diff --git a/app/src/main/java/com/slymapp/diverlog/view/MainActivity.java b/app/src/main/java/com/slymapp/diverlog/view/MainActivity.java
index a449e30..a2760cb 100644
--- a/app/src/main/java/com/slymapp/diverlog/view/MainActivity.java
+++ b/app/src/main/java/com/slymapp/diverlog/view/MainActivity.java
@@ -1,18 +1,16 @@
package com.slymapp.diverlog.view;
-import android.net.Uri;
import android.os.Bundle;
-import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
+import com.beardedhen.androidbootstrap.BootstrapButton;
import com.slymapp.diverlog.R;
-public class MainActivity extends AppCompatActivity
- implements LogDetailFragment.OnFragmentInteractionListener {
+public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -22,7 +20,7 @@ protected void onCreate(Bundle savedInstanceState) {
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
- FloatingActionButton fab = findViewById(R.id.fab);
+ BootstrapButton fab = findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@@ -45,15 +43,6 @@ public boolean onCreateOptionsMenu(Menu menu) {
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
- if (id == R.id.action_settings) {
- return true;
- }
-
- return super.onOptionsItemSelected(item);
- }
-
- @Override
- public void onFragmentInteraction(Uri uri) {
-
+ return id == R.id.action_settings || super.onOptionsItemSelected(item);
}
}
diff --git a/app/src/main/res/drawable/underline.xml b/app/src/main/res/drawable/underline.xml
new file mode 100644
index 0000000..3253340
--- /dev/null
+++ b/app/src/main/res/drawable/underline.xml
@@ -0,0 +1,12 @@
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_log_add.xml b/app/src/main/res/layout/activity_log_add.xml
index 54fbe0c..335d2eb 100644
--- a/app/src/main/res/layout/activity_log_add.xml
+++ b/app/src/main/res/layout/activity_log_add.xml
@@ -3,6 +3,8 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:focusableInTouchMode="true"
+ android:id="@+id/log_add_activity_main_layout"
tools:context="com.slymapp.diverlog.view.LogAddActivity">
-
+ app:bootstrapBrand="primary"
+ app:bootstrapSize="xl"
+ app:buttonMode="regular"
+ app:showOutline="false"
+ app:roundedCorners="true"
+ app:fontAwesomeIcon="fa_plus"/>
diff --git a/app/src/main/res/layout/fragment_log_add.xml b/app/src/main/res/layout/fragment_log_add.xml
index 9bb9254..39d4481 100644
--- a/app/src/main/res/layout/fragment_log_add.xml
+++ b/app/src/main/res/layout/fragment_log_add.xml
@@ -1,102 +1,361 @@
+
-
+ app:layout_constraintTop_toTopOf="parent">
-
-
-
+
+
+
+
+
+
+ app:layout_constraintTop_toBottomOf="@id/log_add_diving_number_input">
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ android:orientation="horizontal"
+ app:layout_constraintGuide_end="@dimen/submit_area_size" />
-
-
-
+ app:layout_constraintTop_toTopOf="@id/log_add_guideline"
+ app:roundedCorners="true"
+ app:showOutline="false" />
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_log_detail.xml b/app/src/main/res/layout/fragment_log_detail.xml
deleted file mode 100644
index 1fcf5c6..0000000
--- a/app/src/main/res/layout/fragment_log_detail.xml
+++ /dev/null
@@ -1,119 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index 59a0b0c..fd1544c 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -1,3 +1,22 @@
16dp
+ 22sp
+ 30sp
+
+ 10dp
+ 10dp
+ 5dp
+ 5dp
+ 80sp
+
+ 10sp
+ 10sp
+ 10sp
+ 10sp
+ 10sp
+ 0sp
+ 0sp
+ 0sp
+ 0sp
+ 0sp
diff --git a/app/src/main/res/values/fragment_log_add.xml b/app/src/main/res/values/fragment_log_add.xml
new file mode 100644
index 0000000..29e795f
--- /dev/null
+++ b/app/src/main/res/values/fragment_log_add.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
\ 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 ee495fe..4db5a22 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -2,15 +2,39 @@
DiverLog
Settings
-
Hello blank fragment
+ ID:%1$d
+
ログを追加
- ダイブNo
+
+ ダイブNo.
日付
+ 天候
日時変更
- 場所
- しじみがトゥルルって頑張ってる海
- 登録!
- ID:%1$d
+ 潜水地
+ 開始時圧力/hPa
+ 終了時圧力/hPa
+ IN時間
+ OUT時間
+ エントリー方法
+ 透明度/m
+ ダイビングスーツ
+ ウェイト/kg
+ 平均深度/m
+ 最大深度/m
+ 水温/℃
+ ダイブタイム
+ ダイブタイム
+ 登録!
+
+
+ - 浜
+ - ボート
+
+
+
+ - ドライ
+ - ウェット
+
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 545b9c6..d950678 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -11,6 +11,9 @@