diff --git a/.idea/misc.xml b/.idea/misc.xml index 37a7509..dfd2c79 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + diff --git a/app/src/main/java/org/ntlab/amaryllis/client/Amaryllis.java b/app/src/main/java/org/ntlab/amaryllis/client/Amaryllis.java index bebc9ad..498fbe6 100644 --- a/app/src/main/java/org/ntlab/amaryllis/client/Amaryllis.java +++ b/app/src/main/java/org/ntlab/amaryllis/client/Amaryllis.java @@ -17,6 +17,7 @@ private String password=null; private String name = null; private String new_introduction = null; + private String Voicedata = null; private Location location; private ArrayList playListListeners; private int index=0; @@ -121,4 +122,11 @@ public void getPlayList(){ } + public void setData(String data) { + Voicedata = data; + } + + public String getData() { + return Voicedata; + } } diff --git a/app/src/main/java/org/ntlab/amaryllis/client/MyDialogFragment.java b/app/src/main/java/org/ntlab/amaryllis/client/MyDialogFragment.java index 75b3b25..d17db05 100644 --- a/app/src/main/java/org/ntlab/amaryllis/client/MyDialogFragment.java +++ b/app/src/main/java/org/ntlab/amaryllis/client/MyDialogFragment.java @@ -2,40 +2,116 @@ //import android.app.Activity; import android.app.Activity; +import android.app.Application; import android.content.Context; +import android.location.Location; +import android.location.LocationListener; +import android.media.MediaPlayer; import android.os.Bundle; -import com.google.android.material.floatingactionbutton.FloatingActionButton; -import com.google.android.material.snackbar.Snackbar; - -import androidx.appcompat.app.AppCompatActivity; -import androidx.appcompat.widget.Toolbar; - +import android.os.Environment; +import android.view.LayoutInflater; import android.view.View; import android.app.Dialog; -import android.content.DialogInterface; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.DialogFragment; import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; -import android.view.LayoutInflater; -import android.view.View; import android.view.ViewGroup; +import android.widget.CheckBox; import android.widget.EditText; +import android.widget.ImageView; import android.widget.LinearLayout; -import android.widget.RadioGroup; +import android.widget.ScrollView; import android.widget.TextView; - -import org.ntlab.amaryllis.client.fragment.ListFragment; +import android.widget.Button; +import android.widget.Toast; -public class MyDialogFragment extends DialogFragment { +import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; +import android.view.View.OnClickListener; +import android.view.Window; +import android.view.WindowManager; +import org.ntlab.amaryllis.client.entities.Voicememo; +import org.ntlab.amaryllis.client.fragment.MapsFragment; +import org.ntlab.amaryllis.client.resources.VoicememosRest; + +import java.util.ArrayList; +import java.util.List; + +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.jackson.JacksonConverterFactory; + + +public class MyDialogFragment extends DialogFragment implements LocationListener { + + Button CancelButton; + private EditText editText; + Activity amaryllis; + private VoicememosRest voicememosService; + private MapsFragment aaaa; + String toastMessage; + //editText = findViewById(R.id.editText); + + private MediaPlayer mp; + static final String filePath = Environment.getExternalStorageDirectory() + "/sample.3gp"; + private int SeekChange = 1; + + + private ArrayList category; + + //現在地を取得する為の変数 + private Location location; + private Location latitude; + private Location longitude; + + private double Dlatitude; + private double Dlongitude; + + //音声データを入れておく為の変数 + private String data; + + //チェックボックスが最低一つはチェックされているかを調べる為の変数 + private int CheckChange; + + //CheckBoxがチェックされているかを確かめる為の配列 + int arrayCount = 5; + private CheckBox[] Checks = new CheckBox[arrayCount]; + + + @Override + public void onLocationChanged(Location location) { + + //位置情報を取得し、変数へ代入 + //EditText latiText = (TextView).findViewById(R.id.editTitle); + //Locationtest = ""+location.getLongitude(); + //latitude = location.getLatitude(); + //longitude = location.getLongitude(); + + } + + @Override + public void onStatusChanged(String provider, int status, Bundle extras) { + + } + + @Override + public void onProviderEnabled(String provider) { + + } + + @Override + public void onProviderDisabled(String provider) { + + } public interface DialogFragmentListener{ @@ -86,11 +162,16 @@ ///* + /*/////////////////////////////////////////////////////////////////////////////////// @NonNull @Override public Dialog onCreateDialog(@Nullable Bundle savedInstanceState){ final EditText editTextTitle = new EditText(getActivity()); final EditText editTextOverview = new EditText(getActivity()); + final String[] Categories = {"A","B","C","D","E","F","G"}; + final boolean[] checkCategories = {false,false,false,false,false,false,false}; + final ArrayList CheckedCategories = new ArrayList(); + int i = 0; Context context = getContext(); LinearLayout layout = new LinearLayout(context); @@ -100,28 +181,63 @@ layout.addView(editTextTitle); layout.addView(editTextOverview); + //layout.setMultiChoiceItems(Categories, null, new DialogInterface.OnMultiChoiceClickListener() { + //@Override + //public void onClick(DialogInterface dialog, int which, boolean isChecked) { + //if (isChecked) CheckedCategories.add(which); + //else CheckedCategories.remove((Integer) which); + //} + //}); AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(getActivity()) //Dialog dialog = new AlertDialog.Builder(getActivity()) - .setTitle("ボイスメモ") - .setMessage("タイトル、概要を入力してください。") + .setTitle("録音が完了しました!") + //.setMessage("タイトル、概要を入力してください。") .setView(layout) - //.setView(editTextTitle) - //.setView(editTextOverview) + + .setMultiChoiceItems(Categories, null, new DialogInterface.OnMultiChoiceClickListener() { + @Override + public void onClick(DialogInterface dialog, int which, boolean isChecked) { + checkCategories[which] = isChecked; + //if (isChecked) CheckedCategories.add(which); + //else CheckedCategories.remove((Integer) which); + } + }) + + .setPositiveButton("決定", new DialogInterface.OnClickListener() { @Override - public void onClick(DialogInterface dialog, int which) { + public void onClick(DialogInterface dialog, int id) { dialogFragmentListener.onDialogPositiveButtonClicked(); TextView Title = (TextView)getActivity().findViewById(R.id.VoiceTitle); Title.setText(editTextTitle.getText()); TextView Overview = (TextView)getActivity().findViewById(R.id.VoiceOverview); Overview.setText(editTextOverview.getText()); - //Title.setText("aaa"); + + //for (Integer i:CheckedCategories){ + //} + + for(int i = 0;i(); + category.add("c01"); + category.add("c02"); + + //toastMessage = "タイトルが入力されていません"; + ((MainActivity) getActivity()).subscribe(this); + +/* + int matchParent = ViewGroup.LayoutParams.MATCH_PARENT; + int wrapContent = ViewGroup.LayoutParams.WRAP_CONTENT; + LinearLayout layout = new LinearLayout(getActivity()); + + //ボタンを作成 + Button button = new Button(getActivity()); + //スクロールビュー作成 + ScrollView scrollView = new ScrollView(getActivity()); + scrollView.setLayoutParams(new ScrollView.LayoutParams(matchParent,wrapContent)); + chkbox.setText("チェックボックス"); + + //レイアウトにチェックボックスを追加 + for(int i = 0;i<5;i++) { + //チェックボックスを生成 + CheckBox chkbox = new CheckBox(getActivity()); + layout.addView(chkbox, new LinearLayout.LayoutParams( + LinearLayout.LayoutParams.WRAP_CONTENT, + LinearLayout.LayoutParams.WRAP_CONTENT)); + } + //レイアウトにボタンを追加 + layout.addView(button, new LinearLayout.LayoutParams( + LinearLayout.LayoutParams.WRAP_CONTENT, + LinearLayout.LayoutParams.WRAP_CONTENT)); + +*/ + + + + + + + + + + final Dialog dialog = new Dialog(getActivity()); + // タイトル非表示 + dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE); + // フルスクリーン + dialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN); + dialog.setContentView(R.layout.activity_dialog); + //dialog.setContentView(layout); + // 背景を透明にする + dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); + + + + //final CheckBox Checks[0] = dialog.findViewById(R.id.checkbox_1); + //final CheckBox Check[1] = dialog.findViewById(R.id.checkbox_2); + //final CheckBox Check[2] = dialog.findViewById(R.id.checkbox_3); + //final CheckBox Check[3] = dialog.findViewById(R.id.checkbox_4); + //final CheckBox Check[4] = dialog.findViewById(R.id.checkbox_5); + + + //checkboxのIDを取得 + Checks[0] = dialog.findViewById(R.id.checkbox_1); + Checks[1] = dialog.findViewById(R.id.checkbox_2); + Checks[2] = dialog.findViewById(R.id.checkbox_3); + Checks[3] = dialog.findViewById(R.id.checkbox_4); + Checks[4] = dialog.findViewById(R.id.checkbox_5); + + + final EditText editText = ((Dialog) dialog).findViewById(R.id.editTitle); + //final EditText editText2 = ((Dialog) dialog).findViewById(R.id.editOverview); + + + + + + // OK ボタンのリスナ + dialog.findViewById(R.id.positive_button).setOnClickListener(new OnClickListener() { + //button.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + //タイトルが最低1文字入力されているかを調べる + if(editText.getText().toString().equals("") == false) { + //一つもチェックされていないcheckboxがあるかを調べる + for(int i = 0;i list = new ArrayList<>(); + //ViewGroup layout = check; + //int count = layout.getChildCount(); + //for(int j = 0;j< count;j++){ + //v = layout.getChildAt(j); + //if(v instanceof CheckBox){ + //CheckBox box = (CheckBox) v; + //if(box.isChecked())list.add(box.getText().toString()); + + //} + //} + //} + + + //aaaa = new MapsFragment(); + + + + + Retrofit retrofit = new Retrofit.Builder() + .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/amaryllis/") + .addConverterFactory(JacksonConverterFactory.create()) + .build(); + voicememosService = retrofit.create(VoicememosRest.class); + Amaryllis amaryllis = (Amaryllis) getActivity().getApplication(); + + location = amaryllis.getLocation(); + Dlatitude = location.getLatitude(); + Dlongitude = location.getLongitude(); + + + data = amaryllis.getData(); + //voiceデータの改行を消去 + String str = data.replace("\n", ""); + //String str = "AAAAGGZ0eXAzZ3A0AAAAAGlzb20zZ3A0AAACkm1vb3YAAABsbXZoZAAAAADbz/QR28/0EQAAA+gAAEYAAAEAAAEAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAB5bWV0YQAAACFoZGxyAAAAAAAAAABtZHRhAAAAAAAAAAAAAAAAAAAAACtrZXlzAAAAAAAAAAEAAAAbbWR0YWNvbS5hbmRyb2lkLnZlcnNpb24AAAAlaWxzdAAAAB0AAAABAAAAFWRhdGEAAAABAAAAADguMC4wAAABpXRyYWsAAABcdGtoZAAAAAfbz/QR28/0EQAAAAEAAAAAAABGAAAAAAAAAAAAAAAAAAEAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAUFtZGlhAAAAIG1kaGQAAAAA28/0EdvP9BEAAB9AAAIwAAAAAAAAAAAsaGRscgAAAAAAAAAAc291bgAAAAAAAAAAAAAAAFNvdW5kSGFuZGxlAAAAAO1taW5mAAAAEHNtaGQAAAAAAAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAALFzdGJsAAAARXN0c2QAAAAAAAAAAQAAADVzYW1yAAAAAAAAAAEAAAAAAAAAAAABABAAAAAAH0AAAAAAABFkYW1yICAgAACD/wABAAAAIHN0dHMAAAAAAAAAAgAAAAEAAACgAAADfwAAAKAAAAAUc3RzegAAAAAAAAAgAAADgAAAABxzdHNjAAAAAAAAAAEAAAABAAADgAAAAAEAAAAUc3RjbwAAAAAAAAABAAYuowAGK/FmcmVlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="; + + Call call = voicememosService.postVoicememos(amaryllis.getUid(), amaryllis.getToken(), 10, str, Dlatitude, Dlongitude, editTitle, editOverview, category); + call.enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + Voicememo voicememo = response.body(); + String aa = voicememo.getVid(); + System.out.println("Success!!!!!!!"); + System.out.println(aa); + } + + @Override + public void onFailure(Call call, Throwable t) { + System.out.println("failed!!!!!!!!!!!!!"); + } + }); + + + dismiss(); + }else{ + Toast toast = Toast.makeText(v.getContext(), "カテゴリが一つも選択されていません", Toast.LENGTH_LONG); + toast.show(); + CheckChange = 0; + } + }else{ + Toast toast = Toast.makeText(v.getContext(), "タイトルが入力されていません", Toast.LENGTH_LONG); + toast.show(); + } + } + }); + // Close ボタンのリスナ + dialog.findViewById(R.id.close_button).setOnClickListener(new OnClickListener() { + //button.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + dismiss(); + } + }); + + return dialog; + + } + + + + + //@Override //public void onCreate(Bundle savedInstanceState) { //super.onCreate(savedInstanceState); @@ -258,6 +580,8 @@ + + } diff --git a/app/src/main/java/org/ntlab/amaryllis/client/fragment/MapsFragment.java b/app/src/main/java/org/ntlab/amaryllis/client/fragment/MapsFragment.java index d90101f..6616043 100644 --- a/app/src/main/java/org/ntlab/amaryllis/client/fragment/MapsFragment.java +++ b/app/src/main/java/org/ntlab/amaryllis/client/fragment/MapsFragment.java @@ -20,13 +20,8 @@ import android.media.MediaRecorder; import android.os.Bundle; import android.os.Environment; -import android.text.SpannableString; -import android.text.style.ForegroundColorSpan; import android.util.Base64; import android.view.LayoutInflater; -import android.view.Menu; -import android.view.MenuInflater; -import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.util.Log; @@ -70,7 +65,6 @@ import java.io.FileInputStream; import java.lang.reflect.Array; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import retrofit2.Call; @@ -96,6 +90,7 @@ private int SeekChange = 1; private int StopChange = 0; private int count = 0; + private Location loc; File file; static final String filePath = Environment.getExternalStorageDirectory() + "/sample.3gp"; Button RecordButton; @@ -113,8 +108,6 @@ private ArrayList done_vid = new ArrayList<>(); private boolean flag = false; private ArrayList mMarker = new ArrayList<>(); - private ArrayList checkedList = new ArrayList<>(); - HashMap menuItemMap = new HashMap<>(); public MapsFragment() { } @@ -229,14 +222,20 @@ // file = new File(getFilesDir(),"Sample.3gp"); mp = new MediaPlayer(); - RecordButton = (Button) view.findViewById(R.id.button); - RecordButton.setOnClickListener(new View.OnClickListener() { - public void onClick(View v) { - //Intent intent = new Intent(getActivity(), VoiceActivity.class); - //startActivity(intent); - startRecord(); - } - }); + + RecordButton = (Button) view.findViewById(R.id.button); + RecordButton.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + if(loc != null) { + //Intent intent = new Intent(getActivity(), VoiceActivity.class); + //startActivity(intent); + startRecord(); + }else{ + System.out.println("onLocationChangedが起動していません。"); + } + } + }); + PlaybackButton = (Button) view.findViewById(R.id.button2); PlaybackButton.setOnClickListener(new View.OnClickListener() { @@ -263,7 +262,9 @@ @Override public void onLocationChanged(Location location) { - if(checkedList.size() != before_category) { + //category = ((MainActivity) getActivity()).getCheckedCidList(); + loc=location; + if(category.size() != before_category) { for(Marker marker : mMarker) { marker.remove(); } @@ -271,7 +272,7 @@ done_vid = new ArrayList<>(); mMarker = new ArrayList<>(); } - before_category = checkedList.size(); + before_category = category.size(); LatLng current = new LatLng(location.getLatitude(), location.getLongitude()); if (googlemap != null) { if (count == 0) { @@ -301,7 +302,7 @@ } if (flag == false || done_vid.size() == 0) { if (v.getCategory().size() >= 2) { - for (String category : checkedList) {// ArrayList(ハンバーガーメニューでしていされた1つ以上のカテゴリーを比較する) + for (String category : category) {// ArrayList(ハンバーガーメニューでしていされた1つ以上のカテゴリーを比較する) for (String cid : v.getCategory()) { if (category.equals(cid)) { Marker m; @@ -315,7 +316,7 @@ } } } else { - for (String category : checkedList) {// ArrayList(ハンバーガーメニューでしていされた1つ以上のカテゴリーを比較する) + for (String category : category) {// ArrayList(ハンバーガーメニューでしていされた1つ以上のカテゴリーを比較する) for (String cid : v.getCategory()) { Category category_info = ((MainActivity) getActivity()).getCategory(cid); if (category.equals(cid)) { @@ -419,6 +420,10 @@ in.read(byteData); String data = Base64.encodeToString(byteData, 0, byteData.length, Base64.DEFAULT); + Amaryllis amaryllis = (Amaryllis) getActivity().getApplication(); + amaryllis.setData(data); + + amaryllis.setLocation(loc); // Call call = voicememosService.postVoicememos(amaryllis.getUid(),amaryllis.getToken(),10,data,35,135,"untitled",""); @@ -577,45 +582,7 @@ return timeLabel; } - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setHasOptionsMenu(true); } - @Override - public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { - super.onCreateOptionsMenu(menu, inflater); - HashMap categories = MainActivity.getCategories(); - - int id=0; - for(Category category : categories.values()){ - String name = category.getName(); - String cid = category.getcId(); - MenuItem newItem = menu.add(Menu.NONE, id, Menu.NONE, name); - menuItemMap.put(newItem.getItemId(),cid); - newItem.setCheckable(true); - newItem.setChecked(true); - checkedList.add(cid); - id++; - } - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - String cid = menuItemMap.get(item.getItemId()); - - if(item.isChecked()){ - checkedList.remove(cid); - }else{ - checkedList.add(cid); - } - item.setChecked(!item.isChecked()); - return super.onOptionsItemSelected(item); - } - -} - - diff --git a/app/src/main/java/org/ntlab/amaryllis/client/resources/VoicememosRest.java b/app/src/main/java/org/ntlab/amaryllis/client/resources/VoicememosRest.java index 9ddd31e..3ba4dd3 100644 --- a/app/src/main/java/org/ntlab/amaryllis/client/resources/VoicememosRest.java +++ b/app/src/main/java/org/ntlab/amaryllis/client/resources/VoicememosRest.java @@ -1,6 +1,9 @@ package org.ntlab.amaryllis.client.resources; +import android.location.Location; +import android.widget.TextView; + import org.ntlab.amaryllis.client.entities.Voicememo; import org.ntlab.amaryllis.client.entities.VoicememosEditFixResponse; import org.ntlab.amaryllis.client.entities.VoicememosFavosDeleteResponse; diff --git a/app/src/main/res/layout/activity_dialog.xml b/app/src/main/res/layout/activity_dialog.xml new file mode 100644 index 0000000..cc52780 --- /dev/null +++ b/app/src/main/res/layout/activity_dialog.xml @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +