felocsss 1 год назад
Родитель
Сommit
77b8f65c6e
51 измененных файлов с 2410 добавлено и 618 удалено
  1. 3 1
      app/build.gradle
  2. 1 1
      app/src/androidTest/java/com/sharix/sportsmanfriend/ExampleInstrumentedTest.java
  3. 1 0
      app/src/main/AndroidManifest.xml
  4. 23 10
      app/src/main/java/com/sharix/sportsmanfriend/BaseDialogClass.java
  5. 0 1
      app/src/main/java/com/sharix/sportsmanfriend/BaseFragmentClass.java
  6. 62 0
      app/src/main/java/com/sharix/sportsmanfriend/MapHelperClass.java
  7. 43 0
      app/src/main/java/com/sharix/sportsmanfriend/PhotoHelperClass.java
  8. 48 0
      app/src/main/java/com/sharix/sportsmanfriend/dialogs/ChoiceOfGenderDialog.java
  9. 16 43
      app/src/main/java/com/sharix/sportsmanfriend/dialogs/ChoiceOfSportDialog.java
  10. 60 0
      app/src/main/java/com/sharix/sportsmanfriend/dialogs/DateOfEventDialog.java
  11. 61 0
      app/src/main/java/com/sharix/sportsmanfriend/dialogs/EndDateOfEventDialog.java
  12. 64 0
      app/src/main/java/com/sharix/sportsmanfriend/dialogs/MemberLimitDialog.java
  13. 66 0
      app/src/main/java/com/sharix/sportsmanfriend/dialogs/RecommendedLevelDialog.java
  14. 113 0
      app/src/main/java/com/sharix/sportsmanfriend/dialogs/SelectLocationDialog.java
  15. 63 0
      app/src/main/java/com/sharix/sportsmanfriend/dialogs/TimeOfEventDialog.java
  16. 7 13
      app/src/main/java/com/sharix/sportsmanfriend/view/LauncherActivity.java
  17. 0 2
      app/src/main/java/com/sharix/sportsmanfriend/view/LoginActivity.java
  18. 3 5
      app/src/main/java/com/sharix/sportsmanfriend/view/MainActivity.java
  19. 4 13
      app/src/main/java/com/sharix/sportsmanfriend/view/RegisterActivity.java
  20. 9 13
      app/src/main/java/com/sharix/sportsmanfriend/view/SingInSingUpActivity.java
  21. 3 3
      app/src/main/java/com/sharix/sportsmanfriend/view/fragments/ChatsFragment.java
  22. 257 0
      app/src/main/java/com/sharix/sportsmanfriend/view/fragments/CreateEventFragment.java
  23. 0 70
      app/src/main/java/com/sharix/sportsmanfriend/view/fragments/CreateMettingFragment.java
  24. 0 1
      app/src/main/java/com/sharix/sportsmanfriend/view/fragments/EventFiltersFragment.java
  25. 15 26
      app/src/main/java/com/sharix/sportsmanfriend/view/fragments/EventListFragment.java
  26. 24 62
      app/src/main/java/com/sharix/sportsmanfriend/view/fragments/MapFragment.java
  27. 7 0
      app/src/main/res/color/switch_color.xml
  28. 0 3
      app/src/main/res/drawable/custom_radio_button.xml
  29. 6 0
      app/src/main/res/drawable/ic_camera.xml
  30. 5 0
      app/src/main/res/drawable/ic_evemt_location.xml
  31. 5 0
      app/src/main/res/drawable/ic_galary.xml
  32. 5 0
      app/src/main/res/drawable/ic_right_arrow.xml
  33. 1 1
      app/src/main/res/drawable/ic_select_event_location.xml
  34. 0 4
      app/src/main/res/drawable/radio_checked.xml
  35. 6 0
      app/src/main/res/drawable/rounded_image.xml
  36. 0 5
      app/src/main/res/drawable/switch_selector.xml
  37. 76 0
      app/src/main/res/layout/dialog_choice_of_gender.xml
  38. 3 4
      app/src/main/res/layout/dialog_choice_of_sport.xml
  39. 52 0
      app/src/main/res/layout/dialog_date_of_event.xml
  40. 73 0
      app/src/main/res/layout/dialog_end_date_of_event.xml
  41. 100 0
      app/src/main/res/layout/dialog_member_limit.xml
  42. 100 0
      app/src/main/res/layout/dialog_recommended_level.xml
  43. 113 0
      app/src/main/res/layout/dialog_select_location.xml
  44. 82 0
      app/src/main/res/layout/dialog_time_of_event.xml
  45. 278 2
      app/src/main/res/layout/fragment_calendar.xml
  46. 522 0
      app/src/main/res/layout/fragment_create_event.xml
  47. 0 322
      app/src/main/res/layout/fragment_create_metting.xml
  48. 8 8
      app/src/main/res/layout/fragment_map.xml
  49. 5 5
      app/src/main/res/layout/fragment_profile.xml
  50. 16 0
      app/src/main/res/values/themes.xml
  51. 1 0
      settings.gradle

+ 3 - 1
app/build.gradle

@@ -34,10 +34,12 @@ android {
 }
 
 dependencies {
+    implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
     implementation 'com.google.android.gms:play-services-location:21.0.1'
     implementation 'org.osmdroid:osmdroid-android:6.1.14'
+    implementation 'com.github.MKergall:osmbonuspack:6.9.0'
     implementation 'androidx.appcompat:appcompat:1.6.1'
-    implementation 'com.google.android.material:material:1.5.0'
+    implementation 'com.google.android.material:material:1.9.0'
     implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
     testImplementation 'junit:junit:4.13.2'
     androidTestImplementation 'androidx.test.ext:junit:1.1.5'

+ 1 - 1
app/src/androidTest/java/com/sharix/sportsmanfriend/ExampleInstrumentedTest.java

@@ -20,7 +20,7 @@ public class ExampleInstrumentedTest {
     @Test
     public void useAppContext() {
         // Context of the app under test.
-        Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
+        Context appContext = InstrumentationRegistry.getInstrumentation().getTarrequireContext();
         assertEquals("com.sharix.sportsmanfriend", appContext.getPackageName());
     }
 }

+ 1 - 0
app/src/main/AndroidManifest.xml

@@ -7,6 +7,7 @@
     <uses-permission android:name="android.permission.INTERNET" />
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"  />
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
 
     <application
         android:allowBackup="true"

+ 23 - 10
app/src/main/java/com/sharix/sportsmanfriend/BaseDialogClass.java

@@ -3,49 +3,50 @@ package com.sharix.sportsmanfriend;
 import android.app.AlertDialog;
 import android.app.Dialog;
 import android.content.Context;
-import android.content.DialogInterface;
 import android.graphics.Color;
 import android.graphics.drawable.ColorDrawable;
 import android.os.Bundle;
 import android.view.View;
 import android.view.WindowManager;
+import android.widget.Button;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.appcompat.app.AppCompatDialogFragment;
 
+import java.util.Objects;
+
 
 public abstract class BaseDialogClass extends AppCompatDialogFragment {
 
     protected BaseDialogClass.DialogListener listener;
     protected View view;
+    private Dialog dialog;
 
     @NonNull
     @Override
     public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+        AlertDialog.Builder builder = new AlertDialog.Builder(requireActivity());
 
-        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
-
-        Dialog d = builder.setView(view).create();
+        dialog = builder.setView(view).create();
 
         WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
-        lp.copyFrom(d.getWindow().getAttributes());
+        lp.copyFrom(dialog.getWindow().getAttributes());
         lp.width = WindowManager.LayoutParams.MATCH_PARENT;
         lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
-        d.getWindow().setAttributes(lp);
-        d.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
+        dialog.getWindow().setAttributes(lp);
+        dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
 
-        return d;
+        return dialog;
     }
 
     @Override
     public void onAttach(@NonNull Context context) {
         super.onAttach(context);
-
         try {
             listener = (BaseDialogClass.DialogListener) getTargetFragment();
         }catch (ClassCastException e) {
-            throw new ClassCastException(getTargetFragment().toString() + "must implement Example Dialog listener");
+            throw new ClassCastException(Objects.requireNonNull(getTargetFragment()) + "must implement Example Dialog listener");
         }
 
     }
@@ -54,5 +55,17 @@ public abstract class BaseDialogClass extends AppCompatDialogFragment {
         void applyInfo(Bundle bundle);
     }
 
+    protected void addClickEventToAllButtons(){
+        Button btn_apply = view.findViewById(R.id.btn_apply);
+        Button btn_cancel = view.findViewById(R.id.btn_cancel);
+
+        btn_apply.setOnClickListener(v -> {
+            listener.applyInfo(DataToTransfer());
+            dialog.cancel();
+        });
+
+        btn_cancel.setOnClickListener(v -> dialog.cancel());
+    }
+
     protected abstract Bundle DataToTransfer();
 }

+ 0 - 1
app/src/main/java/com/sharix/sportsmanfriend/BaseFragmentClass.java

@@ -29,7 +29,6 @@ public abstract class BaseFragmentClass extends Fragment {
     @Override
     public void onCreate(Bundle state) {
         super.onCreate(state);
-
         if (state != null) {
             savedState = state.getBundle(_FRAGMENT_STATE);
         }

+ 62 - 0
app/src/main/java/com/sharix/sportsmanfriend/MapHelperClass.java

@@ -0,0 +1,62 @@
+package com.sharix.sportsmanfriend;
+
+import android.content.Context;
+
+import org.osmdroid.api.IGeoPoint;
+import org.osmdroid.api.IMapController;
+import org.osmdroid.tileprovider.tilesource.TileSourceFactory;
+import org.osmdroid.util.GeoPoint;
+import org.osmdroid.views.MapView;
+import org.osmdroid.views.overlay.Marker;
+
+public class MapHelperClass {
+
+    public static void configureMap(Context context, MapView inMap, double latitude, double longitude, int zoom) {
+        inMap.setTileSource(TileSourceFactory.DEFAULT_TILE_SOURCE);
+        inMap.setMultiTouchControls(true);
+        inMap.setMaxZoomLevel(18.0);
+
+        IMapController mapController = inMap.getController();
+        mapController.setZoom(zoom);
+        GeoPoint startPoint = new GeoPoint(latitude, longitude);
+        mapController.setCenter(startPoint);
+
+        Marker startMarker = new Marker(inMap);
+        startMarker.setPosition(startPoint);
+        startMarker.setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_BOTTOM);
+        inMap.getOverlays().add(startMarker);
+
+        startMarker.setIcon(context.getResources().getDrawable(R.drawable.ic_camera));
+        startMarker.setTitle("Start point");
+
+        inMap.setBuiltInZoomControls(false);
+    }
+
+    public static void ZoomIn(MapView inMap){
+        if (inMap.canZoomIn()) {
+            inMap.getController().zoomIn();
+        }
+    }
+
+    public static void ZoomOut(MapView inMap){
+        if (inMap.canZoomOut()) {
+            inMap.getController().zoomOut();
+        }
+    }
+
+    public static void SetCenterOfMap(MapView inMap, double latitude, double longitude){
+        inMap.getController().setCenter(new GeoPoint(latitude, longitude));
+    }
+
+    public static void SetZoomOfMap(MapView inMap, int zoom){
+        inMap.getController().setZoom(zoom);
+    }
+
+    public static IGeoPoint GetMapCenter(MapView inMap){
+        return inMap.getMapCenter();
+    }
+
+    public static int GetMapZoom(MapView inMap){
+        return inMap.getZoomLevel();
+    }
+}

+ 43 - 0
app/src/main/java/com/sharix/sportsmanfriend/PhotoHelperClass.java

@@ -0,0 +1,43 @@
+package com.sharix.sportsmanfriend;
+
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.net.Uri;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+public class PhotoHelperClass {
+
+    // Получаем Bitmap из URI-адреса
+    public static Bitmap getBitmapFromUri(Uri uri, Context context) {
+        try {
+            InputStream inputStream = context.getContentResolver().openInputStream(uri);
+            Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
+            inputStream.close();
+            return bitmap;
+        } catch (IOException e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+
+    public static Bitmap cropBitmapToSquare(Bitmap bitmap, Context context) {
+        int width = bitmap.getWidth();
+        int height = bitmap.getHeight();
+        int size = Math.min(width, height);
+        int x = (width - size) / 2;
+        int y = (height - size) / 2;
+
+        Bitmap croppedBitmap = Bitmap.createBitmap(bitmap, x, y, size, size);
+
+        return Bitmap.createScaledBitmap(croppedBitmap, dpToPx(100, context), dpToPx(100,context), false);
+    }
+
+    public static int dpToPx(int dp, Context context) {
+        float density = context.getResources().getDisplayMetrics().density;
+        return Math.round((float) dp * density);
+    }
+
+}

+ 48 - 0
app/src/main/java/com/sharix/sportsmanfriend/dialogs/ChoiceOfGenderDialog.java

@@ -0,0 +1,48 @@
+package com.sharix.sportsmanfriend.dialogs;
+
+import android.app.Dialog;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.widget.RadioButton;
+import android.widget.RadioGroup;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.sharix.sportsmanfriend.BaseDialogClass;
+import com.sharix.sportsmanfriend.R;
+
+public class ChoiceOfGenderDialog extends BaseDialogClass {
+
+   private RadioGroup radioGroup;
+
+    @NonNull
+    @Override
+    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+        LayoutInflater inflater = requireActivity().getLayoutInflater();
+        view = inflater.inflate(R.layout.dialog_choice_of_gender, null);
+
+        radioGroup = view.findViewById(R.id.radioGroup);
+
+        addClickEventToAllButtons();
+
+        return super.onCreateDialog(savedInstanceState);
+    }
+
+    @Override
+    protected Bundle DataToTransfer() {
+        Bundle bundle = new Bundle();
+        bundle.putString("FromBlock", "GenderBlock");
+        int selectedId = radioGroup.getCheckedRadioButtonId();
+        RadioButton selectedRadioButton = view.findViewById(selectedId);
+        bundle.putInt("Id", radioGroup.getCheckedRadioButtonId());
+        bundle.putString("Name", selectedRadioButton.getText().toString());
+        return bundle;
+    }
+
+    @Override
+    protected void addClickEventToAllButtons() {
+        super.addClickEventToAllButtons();
+
+    }
+}

+ 16 - 43
app/src/main/java/com/sharix/sportsmanfriend/dialogs/ChoiceOfSportDialog.java

@@ -2,14 +2,10 @@ package com.sharix.sportsmanfriend.dialogs;
 
 import android.app.Dialog;
 import android.os.Bundle;
-import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
-import android.widget.Button;
-import android.widget.CompoundButton;
 import android.widget.RadioButton;
-import android.widget.Toast;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
@@ -22,30 +18,29 @@ import java.util.List;
 
 public class ChoiceOfSportDialog extends BaseDialogClass
 {
-    Button btn_apply, btn_cancel;
     RadioButton selectedRadioButton;
-    Dialog dialog;
 
     @NonNull
     @Override
     public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
-
-        LayoutInflater inflater = getActivity().getLayoutInflater();
+        LayoutInflater inflater = requireActivity().getLayoutInflater();
         view = inflater.inflate(R.layout.dialog_choice_of_sport, null);
 
-        btn_apply = view.findViewById(R.id.btn_apply);
-        btn_cancel = view.findViewById(R.id.btn_cancel);
-
         addClickEventToAllButtons();
 
-        dialog = super.onCreateDialog(savedInstanceState);
-        return dialog;
+        return super.onCreateDialog(savedInstanceState);
     }
 
     @Override
     protected Bundle DataToTransfer() {
         Bundle bundle = new Bundle();
         bundle.putString("FromBlock", "SportBlock");
+        for (RadioButton RB : findAllRadioButtons((ViewGroup) view)){
+            if (RB.isChecked()) {
+                selectedRadioButton = RB;
+                break;
+            }
+        }
         String tag = (String) selectedRadioButton.getTag();
         String[] arr = tag.split(",");
         bundle.putInt("Id", Integer.parseInt(arr[0]));
@@ -66,43 +61,21 @@ public class ChoiceOfSportDialog extends BaseDialogClass
         return radioButtons;
     }
 
-    private void addClickEventToAllButtons() {
+    @Override
+    protected void addClickEventToAllButtons() {
+        super.addClickEventToAllButtons();
 
         List<RadioButton> radioButtons = findAllRadioButtons((ViewGroup) view);
         for (RadioButton element : radioButtons) {
-            element.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
-                @Override
-                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
-                    if (isChecked) {
-                        for (RadioButton _element : radioButtons) {
-                            if (_element != buttonView) {
-                                _element.setChecked(false);
-                            }
+            element.setOnCheckedChangeListener((buttonView, isChecked) -> {
+                if (isChecked) {
+                    for (RadioButton _element : radioButtons) {
+                        if (_element != buttonView) {
+                            _element.setChecked(false);
                         }
                     }
                 }
             });
         }
-
-        btn_apply.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                for (RadioButton RB : radioButtons){
-                    if (RB.isChecked()) {
-                        selectedRadioButton = RB;
-                        listener.applyInfo(DataToTransfer());
-                        dialog.cancel();
-                        break;
-                    }
-                }
-            }
-        });
-
-        btn_cancel.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                dialog.cancel();
-            }
-        });
     }
 }

+ 60 - 0
app/src/main/java/com/sharix/sportsmanfriend/dialogs/DateOfEventDialog.java

@@ -0,0 +1,60 @@
+package com.sharix.sportsmanfriend.dialogs;
+
+import android.app.Dialog;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.widget.CalendarView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.sharix.sportsmanfriend.BaseDialogClass;
+import com.sharix.sportsmanfriend.R;
+
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Locale;
+
+public class DateOfEventDialog extends BaseDialogClass{
+
+    private CalendarView calendarView;
+    private Date calendarDate;
+
+    @NonNull
+    @Override
+    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+        LayoutInflater inflater = requireActivity().getLayoutInflater();
+        view = inflater.inflate(R.layout.dialog_date_of_event, null);
+
+        calendarView = view.findViewById(R.id.calendar);
+
+        addClickEventToAllButtons();
+
+        return super.onCreateDialog(savedInstanceState);
+    }
+
+    @Override
+    protected Bundle DataToTransfer() {
+        Bundle bundle = new Bundle();
+        bundle.putString("FromBlock", "DayBlock");
+        SimpleDateFormat dateFormat = new SimpleDateFormat("dd MMMM yyyy", Locale.getDefault());
+        if(calendarDate == null)
+            calendarDate = new Date(calendarView.getDate());
+        String formattedDate = dateFormat.format(calendarDate);
+        bundle.putString("DateToText", formattedDate);
+        bundle.putString("DateToVariable", calendarDate.toString());
+        return bundle;
+    }
+
+    @Override
+    protected void addClickEventToAllButtons() {
+        super.addClickEventToAllButtons();
+
+        calendarView.setOnDateChangeListener((view, year, month, dayOfMonth) -> {
+            Log.d("TAG", String.valueOf(year));
+            calendarDate = new Date(year - 1900, month, dayOfMonth);
+        });
+    }
+}

+ 61 - 0
app/src/main/java/com/sharix/sportsmanfriend/dialogs/EndDateOfEventDialog.java

@@ -0,0 +1,61 @@
+package com.sharix.sportsmanfriend.dialogs;
+
+import android.app.Dialog;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.widget.CalendarView;
+import android.widget.TimePicker;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.sharix.sportsmanfriend.BaseDialogClass;
+import com.sharix.sportsmanfriend.R;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
+
+public class EndDateOfEventDialog  extends BaseDialogClass {
+
+    private TimePicker timePickerEnd;
+    private CalendarView calendarView;
+    private Date calendarDate;
+
+    @NonNull
+    @Override
+    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+        LayoutInflater inflater = requireActivity().getLayoutInflater();
+        view = inflater.inflate(R.layout.dialog_end_date_of_event, null);
+
+        timePickerEnd = view.findViewById(R.id.timePickerEnd);
+        timePickerEnd.setIs24HourView(true);
+        calendarView = view.findViewById(R.id.calendar);
+
+        addClickEventToAllButtons();
+
+        return super.onCreateDialog(savedInstanceState);
+    }
+
+    @Override
+    protected Bundle DataToTransfer() {
+        Bundle bundle = new Bundle();
+        bundle.putString("FromBlock", "EndRegistrationBlock");
+        bundle.putInt("HourEnd", timePickerEnd.getHour());
+        bundle.putInt("MinuteEnd", timePickerEnd.getMinute());
+        SimpleDateFormat dateFormat = new SimpleDateFormat("dd MMMM yyyy", Locale.getDefault());
+        if(calendarDate == null)
+            calendarDate = new Date(calendarView.getDate());
+        String formattedDate = dateFormat.format(calendarDate);
+        bundle.putString("DateToText", formattedDate);
+        bundle.putString("DateToVariable", calendarDate.toString());
+        return bundle;
+    }
+
+    @Override
+    protected void addClickEventToAllButtons() {
+        super.addClickEventToAllButtons();
+
+        calendarView.setOnDateChangeListener((view, year, month, dayOfMonth) -> calendarDate = new Date(year - 1900, month, dayOfMonth));
+    }
+}

+ 64 - 0
app/src/main/java/com/sharix/sportsmanfriend/dialogs/MemberLimitDialog.java

@@ -0,0 +1,64 @@
+package com.sharix.sportsmanfriend.dialogs;
+
+import android.app.Dialog;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.google.android.material.slider.RangeSlider;
+import com.sharix.sportsmanfriend.BaseDialogClass;
+import com.sharix.sportsmanfriend.R;
+
+import java.util.List;
+
+public class MemberLimitDialog extends BaseDialogClass {
+
+    private TextView tv_number_from, tv_number_to;
+    private RangeSlider rangeSlider;
+
+    @NonNull
+    @Override
+    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+        LayoutInflater inflater = requireActivity().getLayoutInflater();
+        view = inflater.inflate(R.layout.dialog_member_limit, null);
+
+        tv_number_from = view.findViewById(R.id.tv_number_from);
+        tv_number_to = view.findViewById(R.id.tv_number_to);
+        rangeSlider = view.findViewById(R.id.rangeSlider);
+
+        configureRangeSlider();
+        addClickEventToAllButtons();
+
+        return super.onCreateDialog(savedInstanceState);
+    }
+
+    @Override
+    protected Bundle DataToTransfer() {
+        Bundle bundle = new Bundle();
+        bundle.putString("FromBlock", "MemberLimitsBlock");
+        List<Float> values = rangeSlider.getValues();
+        bundle.putInt("LimitFrom", values.get(0).intValue());
+        bundle.putInt("LimitTo", values.get(1).intValue());
+        return bundle;
+    }
+
+    private void configureRangeSlider(){
+        rangeSlider.setValues(2f, 50f);
+        tv_number_from.setText(String.valueOf(2));
+        tv_number_to.setText(String.valueOf(50));
+    }
+
+    @Override
+    protected void addClickEventToAllButtons() {
+        super.addClickEventToAllButtons();
+
+        rangeSlider.addOnChangeListener((slider, value, fromUser) -> {
+            List<Float> values = rangeSlider.getValues();
+            tv_number_from.setText(String.valueOf(values.get(0).intValue()));
+            tv_number_to.setText(String.valueOf(values.get(1).intValue()));
+        });
+    }
+}

+ 66 - 0
app/src/main/java/com/sharix/sportsmanfriend/dialogs/RecommendedLevelDialog.java

@@ -0,0 +1,66 @@
+package com.sharix.sportsmanfriend.dialogs;
+
+import android.app.Dialog;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.google.android.material.slider.RangeSlider;
+import com.sharix.sportsmanfriend.BaseDialogClass;
+import com.sharix.sportsmanfriend.R;
+
+import java.util.List;
+
+public class RecommendedLevelDialog extends BaseDialogClass {
+
+    private TextView tv_number_from, tv_number_to;
+    private RangeSlider rangeSlider;
+
+    @NonNull
+    @Override
+    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+        LayoutInflater inflater = requireActivity().getLayoutInflater();
+        view = inflater.inflate(R.layout.dialog_recommended_level, null);
+
+        tv_number_from = view.findViewById(R.id.tv_number_from);
+        tv_number_to = view.findViewById(R.id.tv_number_to);
+        rangeSlider = view.findViewById(R.id.rangeSlider);
+
+        configureRangeSlider();
+        addClickEventToAllButtons();
+
+        addClickEventToAllButtons();
+
+        return super.onCreateDialog(savedInstanceState);
+    }
+
+    @Override
+    protected Bundle DataToTransfer() {
+        Bundle bundle = new Bundle();
+        bundle.putString("FromBlock", "LevelBlock");
+        List<Float> values = rangeSlider.getValues();
+        bundle.putFloat("LimitFrom", values.get(0));
+        bundle.putFloat("LimitTo", values.get(1));
+        return bundle;
+    }
+
+    private void configureRangeSlider(){
+        rangeSlider.setValues(0f, 3f);
+        tv_number_from.setText(String.valueOf(0));
+        tv_number_to.setText(String.valueOf(3));
+    }
+
+    @Override
+    protected void addClickEventToAllButtons() {
+        super.addClickEventToAllButtons();
+
+        rangeSlider.addOnChangeListener((slider, value, fromUser) -> {
+            List<Float> values = rangeSlider.getValues();
+            tv_number_from.setText(String.valueOf(values.get(0)));
+            tv_number_to.setText(String.valueOf(values.get(1)));
+        });
+    }
+}

+ 113 - 0
app/src/main/java/com/sharix/sportsmanfriend/dialogs/SelectLocationDialog.java

@@ -0,0 +1,113 @@
+package com.sharix.sportsmanfriend.dialogs;
+
+import android.Manifest;
+import android.app.Dialog;
+import android.content.pm.PackageManager;
+import android.graphics.Bitmap;
+import android.graphics.Canvas;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.widget.ImageButton;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.core.app.ActivityCompat;
+
+import com.google.android.gms.location.FusedLocationProviderClient;
+import com.google.android.gms.location.LocationServices;
+import com.sharix.sportsmanfriend.BaseDialogClass;
+import com.sharix.sportsmanfriend.MapHelperClass;
+import com.sharix.sportsmanfriend.R;
+
+import org.osmdroid.views.MapView;
+
+import java.io.ByteArrayOutputStream;
+
+public class SelectLocationDialog extends BaseDialogClass {
+    private final int PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION = 2;
+    private ImageButton btnZoomIn, btnZoomOut, btnMyLocation;
+    private MapView map = null;
+    //определяет последнюю известную локацию
+    private FusedLocationProviderClient fusedLocationProviderClient;
+
+    @NonNull
+    @Override
+    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+        LayoutInflater inflater = requireActivity().getLayoutInflater();
+        view = inflater.inflate(R.layout.dialog_select_location, null);
+
+        map = view.findViewById(R.id.dialog_map);
+        btnZoomIn = view.findViewById(R.id.btn_zoomIn);
+        btnZoomOut = view.findViewById(R.id.btn_zoomOut);
+        btnMyLocation = view.findViewById(R.id.btnMyLocation);
+
+        fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(requireActivity());
+
+        MapHelperClass.configureMap(requireActivity() ,map,55.7522200, 37.6155600, 15);
+
+        addClickEventToAllButtons();
+
+        return super.onCreateDialog(savedInstanceState);
+    }
+
+    @Override
+    protected Bundle DataToTransfer() {
+        Bundle bundle = new Bundle();
+        bundle.putString("FromBlock", "LocationBlock");
+        bundle.putDouble("latitude", MapHelperClass.GetMapCenter(map).getLatitude());
+        bundle.putDouble("longitude", MapHelperClass.GetMapCenter(map).getLongitude());
+        bundle.putByteArray("screenshot", getScreenshot());
+        return bundle;
+    }
+
+    @Override
+    protected void addClickEventToAllButtons() {
+        super.addClickEventToAllButtons();
+
+        btnZoomIn.setOnClickListener(v -> MapHelperClass.ZoomIn(map));
+
+        btnZoomOut.setOnClickListener(v -> MapHelperClass.ZoomOut(map));
+
+        btnMyLocation.setOnClickListener(v -> {
+            if (ActivityCompat.checkSelfPermission(requireActivity(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
+                    && ActivityCompat.checkSelfPermission(requireActivity(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
+                String[] permission = {Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION};
+                requestPermissions(permission, PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION);
+            }
+
+            fusedLocationProviderClient.getLastLocation()
+                .addOnSuccessListener(requireActivity(), location -> {
+                    if (location != null) {
+                        MapHelperClass.SetCenterOfMap(map, location.getLatitude(), location.getLongitude());
+                        MapHelperClass.SetZoomOfMap(map, 18);
+                    }
+                });
+
+        });
+    }
+
+    @Override
+    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
+        super.onRequestPermissionsResult(requestCode, permissions, grantResults); {
+            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
+                requireActivity().recreate();
+            }
+        }
+    }
+
+    private byte[] getScreenshot(){
+
+        float density = getResources().getDisplayMetrics().density;
+        int pixels = (int) (100 * density);
+
+        Bitmap screenshot = Bitmap.createBitmap(pixels, pixels, Bitmap.Config.ARGB_8888);
+        Canvas canvas = new Canvas(screenshot);
+        int centerX = view.getWidth() / 2;
+        int centerY = view.getHeight() / 2;
+        canvas.translate(-centerX + pixels / 2, -centerY + pixels / 2);
+        view.draw(canvas);
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        screenshot.compress(Bitmap.CompressFormat.PNG, 100, baos);
+        return baos.toByteArray();
+    }
+}

+ 63 - 0
app/src/main/java/com/sharix/sportsmanfriend/dialogs/TimeOfEventDialog.java

@@ -0,0 +1,63 @@
+package com.sharix.sportsmanfriend.dialogs;
+
+import android.app.Dialog;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.widget.TimePicker;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.sharix.sportsmanfriend.BaseDialogClass;
+import com.sharix.sportsmanfriend.R;
+
+public class TimeOfEventDialog extends BaseDialogClass {
+
+    private TimePicker timePickerStart, timePickerEnd;
+
+    @NonNull
+    @Override
+    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+        LayoutInflater inflater = requireActivity().getLayoutInflater();
+        view = inflater.inflate(R.layout.dialog_time_of_event, null);
+
+        timePickerStart = view.findViewById(R.id.timePickerStart);
+        timePickerStart.setIs24HourView(true);
+        timePickerEnd = view.findViewById(R.id.timePickerEnd);
+        timePickerEnd.setIs24HourView(true);
+
+        addClickEventToAllButtons();
+
+        return super.onCreateDialog(savedInstanceState);
+    }
+
+    @Override
+    protected Bundle DataToTransfer() {
+        Bundle bundle = new Bundle();
+        bundle.putString("FromBlock", "TimeBlock");
+        bundle.putInt("HourStart", timePickerStart.getHour());
+        bundle.putInt("MinuteStart", timePickerStart.getMinute());
+        bundle.putInt("HourEnd", timePickerEnd.getHour());
+        bundle.putInt("MinuteEnd", timePickerEnd.getMinute());
+        return bundle;
+    }
+
+    @Override
+    protected void addClickEventToAllButtons() {
+        super.addClickEventToAllButtons();
+
+        timePickerStart.setOnTimeChangedListener((view, hourOfDay, minute) -> {
+            if (timePickerEnd.getHour() < hourOfDay || (timePickerEnd.getHour() == hourOfDay && timePickerEnd.getMinute() <= minute)) {
+                timePickerEnd.setHour(hourOfDay);
+                timePickerEnd.setMinute(Math.max(minute + 1, timePickerEnd.getMinute()));
+            }
+        });
+
+        timePickerEnd.setOnTimeChangedListener((view, hourOfDay, minute) -> {
+            if (timePickerStart.getHour() > hourOfDay || (timePickerStart.getHour() == hourOfDay && timePickerStart.getMinute() >= minute)) {
+                timePickerStart.setHour(hourOfDay);
+                timePickerStart.setMinute(Math.min(minute - 1, timePickerStart.getMinute()));
+            }
+        });
+    }
+}

+ 7 - 13
app/src/main/java/com/sharix/sportsmanfriend/view/LauncherActivity.java

@@ -1,11 +1,8 @@
 package com.sharix.sportsmanfriend.view;
 
 import androidx.appcompat.app.AppCompatActivity;
-import androidx.appcompat.app.AppCompatDelegate;
 
-import android.content.Context;
 import android.content.Intent;
-import android.content.SharedPreferences;
 import android.os.Bundle;
 import android.os.Handler;
 
@@ -13,28 +10,25 @@ import com.sharix.sportsmanfriend.R;
 
 public class LauncherActivity extends AppCompatActivity {
 
-    SharedPreferences preferences;
-    SharedPreferences.Editor editor;
+    /*SharedPreferences preferences;
+    SharedPreferences.Editor editor;*/
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_launcher);
 
-       /* preferences = getSharedPreferences("MODE", Context.MODE_PRIVATE);
+        /*preferences = getSharedPreferences("MODE", Context.MODE_PRIVATE);
 
         AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
         editor = preferences.edit();
         editor.putBoolean("night", true);
         editor.apply();*/
 
-        new Handler().postDelayed(new Runnable(){
-            @Override
-            public void run() {
-                Intent mainIntent = new Intent(LauncherActivity.this, SingInSingUpActivity.class);
-                startActivity(mainIntent);
-                finish();
-            }
+        new Handler().postDelayed(() -> {
+            Intent mainIntent = new Intent(LauncherActivity.this, SingInSingUpActivity.class);
+            startActivity(mainIntent);
+            finish();
         }, 1000);
     }
 }

+ 0 - 2
app/src/main/java/com/sharix/sportsmanfriend/view/LoginActivity.java

@@ -4,8 +4,6 @@ import androidx.appcompat.app.AppCompatActivity;
 
 import android.content.Intent;
 import android.os.Bundle;
-import android.util.Log;
-import android.view.View;
 import android.widget.Button;
 
 import com.sharix.sportsmanfriend.R;

+ 3 - 5
app/src/main/java/com/sharix/sportsmanfriend/view/MainActivity.java

@@ -3,7 +3,6 @@ package com.sharix.sportsmanfriend.view;
 import androidx.appcompat.app.AppCompatActivity;
 import android.os.Bundle;
 import android.preference.PreferenceManager;
-import android.util.Log;
 
 import com.sharix.sportsmanfriend.BuildConfig;
 import com.sharix.sportsmanfriend.OnBackPressedListener;
@@ -12,7 +11,7 @@ import com.sharix.sportsmanfriend.databinding.ActivityMainBinding;
 import com.sharix.sportsmanfriend.BaseDialogClass;
 import com.sharix.sportsmanfriend.view.fragments.CalendarFragment;
 import com.sharix.sportsmanfriend.view.fragments.ChatsFragment;
-import com.sharix.sportsmanfriend.view.fragments.CreateMettingFragment;
+import com.sharix.sportsmanfriend.view.fragments.CreateEventFragment;
 import com.sharix.sportsmanfriend.view.fragments.MapFragment;
 import com.sharix.sportsmanfriend.view.fragments.ProfileFragment;
 
@@ -28,14 +27,13 @@ public class MainActivity extends AppCompatActivity implements OnBackPressedList
 
     MapFragment mapFragment = new MapFragment();
     CalendarFragment calendarFragment = new CalendarFragment();
-    CreateMettingFragment createMettingFragment = new CreateMettingFragment();
+    CreateEventFragment createEventFragment = new CreateEventFragment();
     ChatsFragment chatsFragment = new ChatsFragment();
     ProfileFragment profileFragment = new ProfileFragment();
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-
         // установка user agent
         Configuration.getInstance().load(getApplicationContext(),
                 PreferenceManager.getDefaultSharedPreferences(getApplicationContext()));
@@ -60,7 +58,7 @@ public class MainActivity extends AppCompatActivity implements OnBackPressedList
                     break;
 
                 case R.id.history:
-                    replaceFragment(createMettingFragment);
+                    replaceFragment(createEventFragment);
                     break;
 
                 case R.id.chats:

+ 4 - 13
app/src/main/java/com/sharix/sportsmanfriend/view/RegisterActivity.java

@@ -4,7 +4,6 @@ import androidx.appcompat.app.AppCompatActivity;
 
 import android.content.Intent;
 import android.os.Bundle;
-import android.view.View;
 import android.widget.Button;
 
 import com.sharix.sportsmanfriend.R;
@@ -22,19 +21,11 @@ public class RegisterActivity extends AppCompatActivity {
         btnNext = findViewById(R.id.btnNext);
         btnGoBack = findViewById(R.id.btnGoBack);
 
-        btnNext.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                Intent intent = new Intent(RegisterActivity.this, MainActivity.class);
-                startActivity(intent);
-            }
+        btnNext.setOnClickListener(view -> {
+            Intent intent = new Intent(RegisterActivity.this, MainActivity.class);
+            startActivity(intent);
         });
 
-        btnGoBack.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                finish();
-            }
-        });
+        btnGoBack.setOnClickListener(view -> finish());
     }
 }

+ 9 - 13
app/src/main/java/com/sharix/sportsmanfriend/view/SingInSingUpActivity.java

@@ -4,7 +4,6 @@ import androidx.appcompat.app.AppCompatActivity;
 
 import android.content.Intent;
 import android.os.Bundle;
-import android.view.View;
 import android.widget.Button;
 
 import com.sharix.sportsmanfriend.R;
@@ -13,7 +12,7 @@ public class SingInSingUpActivity extends AppCompatActivity {
 
     Button btnNext;
 
-    private boolean devBtn = true;
+    private final boolean devBtn = true;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -22,18 +21,15 @@ public class SingInSingUpActivity extends AppCompatActivity {
 
         btnNext = findViewById(R.id.btnNext);
 
-        btnNext.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                if (devBtn){
-                    Intent intent = new Intent(SingInSingUpActivity.this, LoginActivity.class);
-                    startActivity(intent);
-                }
-                else {
-                    Intent intent = new Intent(SingInSingUpActivity.this, RegisterActivity.class);
-                    startActivity(intent);
-                }
+        btnNext.setOnClickListener(view -> {
+            Intent intent;
+            if (devBtn){
+                intent = new Intent(SingInSingUpActivity.this, LoginActivity.class);
             }
+            else {
+                intent = new Intent(SingInSingUpActivity.this, RegisterActivity.class);
+            }
+            startActivity(intent);
         });
     }
 }

+ 3 - 3
app/src/main/java/com/sharix/sportsmanfriend/view/fragments/ChatsFragment.java

@@ -27,17 +27,17 @@ public class ChatsFragment extends Fragment {
 
         String[] items = new String[]{"Sort by", "Date", "Saved", "Distance"};
 
-        ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_dropdown_item, items) {
+        ArrayAdapter<String> adapter = new ArrayAdapter<String>(requireActivity(), android.R.layout.simple_spinner_dropdown_item, items) {
             @Override
             public View getDropDownView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
                 View view = super.getDropDownView(position, convertView, parent);
 
                 if (position == 0) {
                     ((TextView) view).setTextColor(Color.GRAY);
-                    ((TextView) view).setEnabled(false);
+                    view.setEnabled(false);
                 } else {
                     ((TextView) view).setTextColor(Color.BLACK);
-                    ((TextView) view).setEnabled(true);
+                    view.setEnabled(true);
                 }
 
                 return view;

+ 257 - 0
app/src/main/java/com/sharix/sportsmanfriend/view/fragments/CreateEventFragment.java

@@ -0,0 +1,257 @@
+package com.sharix.sportsmanfriend.view.fragments;
+
+import android.annotation.SuppressLint;
+import android.app.Activity;
+import android.content.ClipData;
+import android.content.Intent;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.net.Uri;
+import android.os.Bundle;
+
+import androidx.constraintlayout.widget.ConstraintLayout;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
+
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.ImageButton;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.google.android.material.imageview.ShapeableImageView;
+import com.sharix.sportsmanfriend.BaseDialogClass;
+import com.sharix.sportsmanfriend.BaseFragmentClass;
+import com.sharix.sportsmanfriend.PhotoHelperClass;
+import com.sharix.sportsmanfriend.R;
+import com.sharix.sportsmanfriend.dialogs.ChoiceOfGenderDialog;
+import com.sharix.sportsmanfriend.dialogs.ChoiceOfSportDialog;
+import com.sharix.sportsmanfriend.dialogs.DateOfEventDialog;
+import com.sharix.sportsmanfriend.dialogs.EndDateOfEventDialog;
+import com.sharix.sportsmanfriend.dialogs.MemberLimitDialog;
+import com.sharix.sportsmanfriend.dialogs.RecommendedLevelDialog;
+import com.sharix.sportsmanfriend.dialogs.SelectLocationDialog;
+import com.sharix.sportsmanfriend.dialogs.TimeOfEventDialog;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.Locale;
+import java.util.Objects;
+
+public class CreateEventFragment extends BaseFragmentClass implements BaseDialogClass.DialogListener {
+    // Элементы на которые будет вызываться диалоговое окно
+    private ConstraintLayout locationBlock, sportBlock, memberLimitBlock, dayBlock, timeBlock, endRegistrationBlock,
+            levelBlock, genderBlock;
+    private ImageButton btnGetImageFromGallery, btnGetImageFromCamera;
+    // поля для отображения выбранных значений в диалогах
+    private TextView locationBlockText, sportBlockText, memberLimitsBlockText, dayBlockText, timeBlockText,
+            endRegistrationBlockText, levelBlockText, genderBlockText;
+    private ShapeableImageView LocationBlockImage;
+    // данные для бд
+    private String description;
+    private double latitude, longitude;
+    private LocalDateTime event_start, end_registration;
+    private int sport_id, min_participants, max_participants, level_min, level_max;
+    // константы
+    private final int RESULT_LOAD_IMAGE = 1, CAMERA_REQUEST = 1888;
+    private LinearLayout photoContainer;
+    private EditText notes;
+    private Button saveButton;
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+                             Bundle savedInstanceState) {
+        View v = inflater.inflate(R.layout.fragment_create_event, container, false);
+
+        locationBlock = v.findViewById(R.id.eventLocationBlock);
+        locationBlockText = v.findViewById(R.id.eventLocationBlockText);
+        LocationBlockImage = v.findViewById(R.id.shapeableImageView);
+        sportBlock = v.findViewById(R.id.sportBlock);
+        sportBlockText = v.findViewById(R.id.sportBlockText);
+        memberLimitBlock = v.findViewById(R.id.memberLimitsBlock);
+        memberLimitsBlockText = v.findViewById(R.id.memberLimitsBlockText);
+        dayBlock = v.findViewById(R.id.dayBlock);
+        dayBlockText = v.findViewById(R.id.dayBlockText);
+        timeBlock = v.findViewById(R.id.timeBlock);
+        timeBlockText = v.findViewById(R.id.timeBlockText);
+        endRegistrationBlock = v.findViewById(R.id.endRegistrationBlock);
+        endRegistrationBlockText = v.findViewById(R.id.endRegistrationBlockText);
+        levelBlock = v.findViewById(R.id.levelBlock);
+        levelBlockText = v.findViewById(R.id.levelBlockText);
+        genderBlock = v.findViewById(R.id.genderBlock);
+        genderBlockText = v.findViewById(R.id.genderBlockText);
+        btnGetImageFromGallery = v.findViewById(R.id.btn_get_image_from_galary);
+        btnGetImageFromCamera = v.findViewById(R.id.btn_get_image_from_camera);
+        photoContainer = v.findViewById(R.id.photo_container);
+        notes = v.findViewById(R.id.notes);
+        saveButton = v.findViewById(R.id.btnSave);
+
+        addClickEventToAllButtons();
+
+        return v;
+    }
+
+    private void addClickEventToAllButtons(){
+        sportBlock.setOnClickListener(v -> {
+            ChoiceOfSportDialog choiceOfSportDialog = new ChoiceOfSportDialog();
+            choiceOfSportDialog.setTargetFragment(CreateEventFragment.this, 0);
+            choiceOfSportDialog.show(requireActivity().getSupportFragmentManager(), "choiceOfSportDialog");
+        });
+
+        locationBlock.setOnClickListener(v -> {
+            SelectLocationDialog selectLocationDialog = new SelectLocationDialog();
+            selectLocationDialog.setTargetFragment(CreateEventFragment.this, 0);
+            selectLocationDialog.show(requireActivity().getSupportFragmentManager(), "selectLocationDialog");
+        });
+
+        memberLimitBlock.setOnClickListener(v -> {
+            MemberLimitDialog memberLimitDialog = new MemberLimitDialog();
+            memberLimitDialog.setTargetFragment(CreateEventFragment.this, 0);
+            memberLimitDialog.show(requireActivity().getSupportFragmentManager(), "memberLimitDialog");
+
+        });
+
+        dayBlock.setOnClickListener(v -> {
+            DateOfEventDialog dateOfEventDialog = new DateOfEventDialog();
+            dateOfEventDialog.setTargetFragment(CreateEventFragment.this, 0);
+            dateOfEventDialog.show(requireActivity().getSupportFragmentManager(), "dateOfEventDialog");
+        });
+
+        timeBlock.setOnClickListener(v -> {
+            TimeOfEventDialog timeOfEventDialog = new TimeOfEventDialog();
+            timeOfEventDialog.setTargetFragment(CreateEventFragment.this, 0);
+            timeOfEventDialog.show(requireActivity().getSupportFragmentManager(), "timeOfEventDialog");
+        });
+
+        endRegistrationBlock.setOnClickListener(v -> {
+            EndDateOfEventDialog dateOfEventDialog = new EndDateOfEventDialog();
+            dateOfEventDialog.setTargetFragment(CreateEventFragment.this, 0);
+            dateOfEventDialog.show(requireActivity().getSupportFragmentManager(), "dateOfEventDialog");
+
+        });
+
+        levelBlock.setOnClickListener(v -> {
+            RecommendedLevelDialog recommendedLevelDialog = new RecommendedLevelDialog();
+            recommendedLevelDialog.setTargetFragment(CreateEventFragment.this, 0);
+            recommendedLevelDialog.show(requireActivity().getSupportFragmentManager(), "recommendedLevelDialog");
+        });
+
+        genderBlock.setOnClickListener(v -> {
+            ChoiceOfGenderDialog choiceOfGenderDialog = new ChoiceOfGenderDialog();
+            choiceOfGenderDialog.setTargetFragment(CreateEventFragment.this, 0);
+            choiceOfGenderDialog.show(requireActivity().getSupportFragmentManager(), "choiceOfGenderDialog");
+        });
+
+        btnGetImageFromGallery.setOnClickListener(v -> {
+            Intent intent = new Intent();
+            intent.setType("image/*");
+            intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
+            intent.setAction(Intent.ACTION_GET_CONTENT);
+            intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+            startActivityForResult(Intent.createChooser(intent,"Select Picture"), RESULT_LOAD_IMAGE);
+        });
+
+        btnGetImageFromCamera.setOnClickListener(v -> {
+            Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
+            startActivityForResult(cameraIntent, CAMERA_REQUEST);
+        });
+
+        saveButton.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                FragmentManager fragmentManager = requireActivity().getSupportFragmentManager();
+                FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
+                CreateEventFragment myFragment = new CreateEventFragment();
+                fragmentTransaction.replace(R.id.frameWindow, myFragment);
+                fragmentTransaction.commit();
+            }
+        });
+    }
+
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+
+        if (requestCode == RESULT_LOAD_IMAGE && resultCode == Activity.RESULT_OK) {
+            // Получаем URI-адреса выбранных изображений
+            ClipData clipData = data.getClipData();
+            if (clipData != null) {
+                for (int i = 0; i < clipData.getItemCount(); i++) {
+                    Uri imageUri = clipData.getItemAt(i).getUri();
+                    // Преобразуем URI-адрес в Bitmap
+                    Bitmap bitmap = PhotoHelperClass.getBitmapFromUri(imageUri, requireActivity());
+                    Bitmap squareBitmap = PhotoHelperClass.cropBitmapToSquare(Objects.requireNonNull(bitmap), requireActivity());
+                    addImageToPhotos(squareBitmap);
+                }
+            } else {
+                Uri imageUri = data.getData();
+                // Преобразуем URI-адрес в Bitmap
+                Bitmap bitmap = PhotoHelperClass.getBitmapFromUri(imageUri, requireActivity());
+                Bitmap squareBitmap = PhotoHelperClass.cropBitmapToSquare(Objects.requireNonNull(bitmap), requireActivity());
+                addImageToPhotos(squareBitmap);
+            }
+        }
+        if (requestCode == CAMERA_REQUEST && resultCode == Activity.RESULT_OK) {
+            Bitmap photo = (Bitmap) data.getExtras().get("data");
+            Bitmap squareBitmap = PhotoHelperClass.cropBitmapToSquare(photo, requireActivity());
+            addImageToPhotos(squareBitmap);
+        }
+    }
+
+    private void addImageToPhotos(Bitmap bitmap){
+        ImageView imageView = new ImageView(requireActivity());
+        imageView.setLayoutParams(new ViewGroup.LayoutParams(PhotoHelperClass.dpToPx(100, requireActivity()), PhotoHelperClass.dpToPx(100, requireActivity())));
+        imageView.setPadding(10, 0, 0, 0);
+        imageView.setImageBitmap(bitmap);
+        photoContainer.addView(imageView);
+    }
+
+    @Override
+    protected boolean hasSavedState() {
+        return false;
+    }
+
+    @Override
+    protected Bundle getStateToSave() {
+        return null;
+    }
+
+    @SuppressLint("DefaultLocale")
+    @Override
+    public void applyInfo(Bundle bundle) {
+        switch (bundle.getString("FromBlock")){
+            case "SportBlock":
+                sportBlockText.setText(bundle.getString("Name"));
+                break;
+            case "LocationBlock":
+                LocationBlockImage.setImageBitmap(BitmapFactory.decodeByteArray(bundle.getByteArray("screenshot"), 0, bundle.getByteArray("screenshot").length));
+                locationBlockText.setText(String.format("latitude: %s longitude: %s", bundle.getDouble("latitude"), bundle.getDouble("longitude")));
+                break;
+            case "MemberLimitsBlock":
+                memberLimitsBlockText.setText(String.format("%d - %d", bundle.getInt("LimitFrom"), bundle.getInt("LimitTo")));
+                break;
+            case "DayBlock":
+                dayBlockText.setText(bundle.getString("DateToText"));
+                break;
+            case "TimeBlock":
+                timeBlockText.setText(String.format("%s - %s", String.format(Locale.getDefault(), "%02d:%02d",
+                        bundle.getInt("HourStart"), bundle.getInt("MinuteStart")), String.format(Locale.getDefault(), "%02d:%02d",
+                        bundle.getInt("HourEnd"), bundle.getInt("MinuteEnd"))));
+                break;
+            case "EndRegistrationBlock":
+                endRegistrationBlockText.setText(String.format("%s %s", bundle.getString("DateToText"), String.format(Locale.getDefault(), "%02d:%02d",
+                        bundle.getInt("HourEnd"), bundle.getInt("MinuteEnd"))));
+            case "LevelBlock":
+                levelBlockText.setText(String.format("%s - %s", bundle.getFloat("LimitFrom"), bundle.getFloat("LimitTo")));
+                break;
+            case "GenderBlock":
+                genderBlockText.setText(bundle.getString("Name"));
+                break;
+        }
+    }
+}

+ 0 - 70
app/src/main/java/com/sharix/sportsmanfriend/view/fragments/CreateMettingFragment.java

@@ -1,70 +0,0 @@
-package com.sharix.sportsmanfriend.view.fragments;
-
-import android.content.Context;
-import android.os.Bundle;
-
-import androidx.annotation.NonNull;
-import androidx.constraintlayout.widget.ConstraintLayout;
-
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-
-import com.sharix.sportsmanfriend.BaseDialogClass;
-import com.sharix.sportsmanfriend.BaseFragmentClass;
-import com.sharix.sportsmanfriend.R;
-import com.sharix.sportsmanfriend.dialogs.ChoiceOfSportDialog;
-
-public class CreateMettingFragment extends BaseFragmentClass implements BaseDialogClass.DialogListener {
-
-    private ConstraintLayout SportBlock;
-    private TextView SportBlockText;
-
-    @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container,
-                             Bundle savedInstanceState) {
-        View v = inflater.inflate(R.layout.fragment_create_metting, container, false);
-
-        SportBlock = v.findViewById(R.id.sportBlock);
-        SportBlockText = v.findViewById(R.id.sportBlockText);
-
-        addClickEventToAllButtons();
-
-        return v;
-    }
-
-    private void addClickEventToAllButtons(){
-
-        SportBlock.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-
-                ChoiceOfSportDialog choiceOfSportDialog = new ChoiceOfSportDialog();
-                choiceOfSportDialog.setTargetFragment(CreateMettingFragment.this, 0);
-                choiceOfSportDialog.show(getActivity().getSupportFragmentManager(), "choiceOfSportDialog");
-
-            }
-        });
-    }
-
-    @Override
-    protected boolean hasSavedState() {
-        return false;
-    }
-
-    @Override
-    protected Bundle getStateToSave() {
-        return null;
-    }
-
-    @Override
-    public void applyInfo(Bundle bundle) {
-        Log.d("TAG", "applyInfo: ");
-        switch (bundle.getString("FromBlock")){
-            case "SportBlock":
-                SportBlockText.setText(bundle.getString("Name"));
-        }
-    }
-}

+ 0 - 1
app/src/main/java/com/sharix/sportsmanfriend/view/fragments/EventFiltersFragment.java

@@ -15,7 +15,6 @@ public class EventFiltersFragment extends Fragment {
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
                              Bundle savedInstanceState) {
-        // Inflate the layout for this fragment
         return inflater.inflate(R.layout.fragment_event_filters, container, false);
     }
 }

+ 15 - 26
app/src/main/java/com/sharix/sportsmanfriend/view/fragments/EventListFragment.java

@@ -1,13 +1,8 @@
 package com.sharix.sportsmanfriend.view.fragments;
 
-import android.Manifest;
-import android.content.pm.PackageManager;
 import android.os.Bundle;
 
-import androidx.core.app.ActivityCompat;
 import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentManager;
-import androidx.fragment.app.FragmentTransaction;
 
 import android.view.LayoutInflater;
 import android.view.View;
@@ -17,8 +12,6 @@ import android.widget.LinearLayout;
 import com.sharix.sportsmanfriend.OnBackPressedListener;
 import com.sharix.sportsmanfriend.R;
 
-import org.osmdroid.util.GeoPoint;
-
 public class EventListFragment extends Fragment implements OnBackPressedListener {
 
     private LinearLayout btnOpenEventMap;
@@ -26,7 +19,6 @@ public class EventListFragment extends Fragment implements OnBackPressedListener
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
                              Bundle savedInstanceState) {
-
         View view = inflater.inflate(R.layout.fragment_event_list, container, false);
 
         btnOpenEventMap = view.findViewById(R.id.btnOpenEventMap);
@@ -38,34 +30,31 @@ public class EventListFragment extends Fragment implements OnBackPressedListener
 
     private void addClickEventToAllButtons() {
 
-        btnOpenEventMap.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                /*// Получаем менеджер фрагментов
-                FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
+        btnOpenEventMap.setOnClickListener(v -> {
+            /*// Получаем менеджер фрагментов
+            FragmentManager fragmentManager = requireActivity().getSupportFragmentManager();
 
-                // Создаем транзакцию фрагментов
-                FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
+            // Создаем транзакцию фрагментов
+            FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
 
-                // Создаем новый фрагмент, который мы хотим открыть
-                MapFragment myFragment = new MapFragment();
+            // Создаем новый фрагмент, который мы хотим открыть
+            MapFragment myFragment = new MapFragment();
 
-                // Заменяем текущий фрагмент на новый
-                fragmentTransaction.replace(R.id.frameWindow, myFragment);
+            // Заменяем текущий фрагмент на новый
+            fragmentTransaction.replace(R.id.frameWindow, myFragment);
 
-                // Добавляем транзакцию в стек возврата, чтобы пользователь мог вернуться назад
-                fragmentTransaction.addToBackStack(null);
+            // Добавляем транзакцию в стек возврата, чтобы пользователь мог вернуться назад
+            fragmentTransaction.addToBackStack(null);
 
-                // Применяем транзакцию
-                fragmentTransaction.commit();*/
+            // Применяем транзакцию
+            fragmentTransaction.commit();*/
 
-                onBackPressed();
-            }
+            onBackPressed();
         });
     }
 
     @Override
     public void onBackPressed() {
-        getActivity().getSupportFragmentManager().popBackStack();
+        requireActivity().getSupportFragmentManager().popBackStack();
     }
 }

+ 24 - 62
app/src/main/java/com/sharix/sportsmanfriend/view/fragments/MapFragment.java

@@ -1,9 +1,7 @@
 package com.sharix.sportsmanfriend.view.fragments;
 
 import android.Manifest;
-import android.content.Context;
 import android.content.pm.PackageManager;
-
 import android.os.Bundle;
 
 import androidx.annotation.NonNull;
@@ -11,19 +9,20 @@ import androidx.core.app.ActivityCompat;
 import androidx.core.content.ContextCompat;
 import androidx.fragment.app.FragmentManager;
 import androidx.fragment.app.FragmentTransaction;
+
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import org.osmdroid.views.MapView;
 import android.widget.ImageButton;
 import android.widget.LinearLayout;
+
 import com.google.android.gms.location.FusedLocationProviderClient;
 import com.google.android.gms.location.LocationServices;
+
 import com.sharix.sportsmanfriend.BaseFragmentClass;
+import com.sharix.sportsmanfriend.MapHelperClass;
 import com.sharix.sportsmanfriend.R;
-import org.osmdroid.api.IMapController;
-import org.osmdroid.tileprovider.tilesource.TileSourceFactory;
-import org.osmdroid.util.GeoPoint;
-import org.osmdroid.views.MapView;
 
 public class MapFragment extends BaseFragmentClass {
     // константы
@@ -38,14 +37,9 @@ public class MapFragment extends BaseFragmentClass {
     private LinearLayout btnOpenEventList;
     //определяет последнюю известную локацию
     private FusedLocationProviderClient fusedLocationProviderClient;
-    //контроллер карты OSM
-    IMapController mapController;
-
-    private double latitude, longitude;
 
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
-
         View view = inflater.inflate(R.layout.fragment_map, container, false);
 
         btnZoomIn = view.findViewById(R.id.btn_zoomIn);
@@ -54,11 +48,10 @@ public class MapFragment extends BaseFragmentClass {
         btnOpenEventList = view.findViewById(R.id.btnOpenEventList);
 
         map = view.findViewById(R.id.map);
-        mapController = map.getController();
-        fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(getActivity());
+        fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(requireActivity());
 
         if (!hasSavedState()){
-            configureMap(55.934473, 37.497081, 15);
+            MapHelperClass.configureMap(requireActivity(), map,55.934473, 37.497081, 15);
         }
 
         askPermissions();
@@ -67,84 +60,56 @@ public class MapFragment extends BaseFragmentClass {
         return view;
     }
 
-    @Override
-    public void onAttach(@NonNull Context context) {
-        super.onAttach(context);
-    }
-
     @Override
     public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
         super.onRequestPermissionsResult(requestCode, permissions, grantResults);
         switch (requestCode) {
             case REQUEST_PERMISSIONS_REQUEST_CODE: {
                 if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
-                    getActivity().recreate();
+                    requireActivity().recreate();
                 }
             }
             case PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION: {
                 if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
-                    getActivity().recreate();
+                    requireActivity().recreate();
                 }
             }
         }
     }
 
-    private void configureMap(double Latitude, double Longitude, int Zoom) {
-        map.setTileSource(TileSourceFactory.DEFAULT_TILE_SOURCE);
-        map.setMultiTouchControls(true);
-        map.setMaxZoomLevel(18.0);
-
-        mapController.setZoom(Zoom);
-        GeoPoint startPoint = new GeoPoint(Latitude, Longitude);
-        mapController.setCenter(startPoint);
-
-        map.setBuiltInZoomControls(false);
-    }
-
     private void askPermissions() {
-        if (ContextCompat.checkSelfPermission(getContext(), Manifest.permission.INTERNET) != PackageManager.PERMISSION_GRANTED ||
-            ContextCompat.checkSelfPermission(getContext(), Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED ||
-            ContextCompat.checkSelfPermission(getContext(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
+        if (ContextCompat.checkSelfPermission(requireContext(), Manifest.permission.INTERNET) != PackageManager.PERMISSION_GRANTED ||
+            ContextCompat.checkSelfPermission(requireContext(), Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED ||
+            ContextCompat.checkSelfPermission(requireContext(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
             String[] permission = {Manifest.permission.INTERNET, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.ACCESS_FINE_LOCATION};
             requestPermissions(permission, REQUEST_PERMISSIONS_REQUEST_CODE);
         }
     }
 
     private void addClickEventToAllButtons() {
+        btnZoomIn.setOnClickListener(v -> MapHelperClass.ZoomIn(map));
 
-        btnZoomIn.setOnClickListener(v -> {
-            if (map.canZoomIn()) {
-                mapController.zoomIn();
-            }
-        });
-
-        btnZoomOut.setOnClickListener(v -> {
-            if (map.canZoomOut()) {
-                mapController.zoomOut();
-            }
-        });
+        btnZoomOut.setOnClickListener(v -> MapHelperClass.ZoomOut(map));
 
         btnMyLocation.setOnClickListener(v -> {
-            if (ActivityCompat.checkSelfPermission(getActivity(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
-                && ActivityCompat.checkSelfPermission(getActivity(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
+            if (ActivityCompat.checkSelfPermission(requireActivity(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
+                && ActivityCompat.checkSelfPermission(requireActivity(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
                 String[] permission = {Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION};
                 requestPermissions(permission, PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION);
             }
 
             fusedLocationProviderClient.getLastLocation()
-                    .addOnSuccessListener(getActivity(), location -> {
+                    .addOnSuccessListener(requireActivity(), location -> {
                         if (location != null) {
-                            latitude = location.getLatitude();
-                            longitude = location.getLongitude();
-                            mapController.setCenter(new GeoPoint(latitude, longitude));
-                            mapController.setZoom(18);
+                            MapHelperClass.SetCenterOfMap(map, location.getLatitude(), location.getLongitude());
+                            MapHelperClass.SetZoomOfMap(map, 18);
                         }
                     });
 
         });
 
         btnOpenEventList.setOnClickListener(v -> {
-            FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
+            FragmentManager fragmentManager = requireActivity().getSupportFragmentManager();
             FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
             EventListFragment myFragment = new EventListFragment();
             fragmentTransaction.replace(R.id.frameWindow, myFragment);
@@ -161,10 +126,7 @@ public class MapFragment extends BaseFragmentClass {
             return false;
         }
 
-        int zoomLevel = state.getInt(KEY_ZOOM_LEVEL);
-        double centerLatitude = state.getDouble(KEY_CENTER_LATITUDE);
-        double centerLongitude = state.getDouble(KEY_CENTER_LONGITUDE);
-        configureMap(centerLatitude, centerLongitude, zoomLevel);
+        MapHelperClass.configureMap(requireActivity(), map, state.getDouble(KEY_CENTER_LATITUDE), state.getDouble(KEY_CENTER_LONGITUDE), state.getInt(KEY_ZOOM_LEVEL));
 
         return true;
     }
@@ -173,9 +135,9 @@ public class MapFragment extends BaseFragmentClass {
     protected Bundle getStateToSave() {
         Bundle state = new Bundle();
 
-        state.putInt(KEY_ZOOM_LEVEL, map.getZoomLevel());
-        state.putDouble(KEY_CENTER_LATITUDE, map.getMapCenter().getLatitude());
-        state.putDouble(KEY_CENTER_LONGITUDE, map.getMapCenter().getLongitude());
+        state.putInt(KEY_ZOOM_LEVEL, MapHelperClass.GetMapZoom(map));
+        state.putDouble(KEY_CENTER_LATITUDE, MapHelperClass.GetMapCenter(map).getLatitude());
+        state.putDouble(KEY_CENTER_LONGITUDE, MapHelperClass.GetMapCenter(map).getLongitude());
 
         return state;
     }

+ 7 - 0
app/src/main/res/color/switch_color.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector
+    xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:color="@color/MainColor"
+        android:state_checked="true" />
+    <item android:color="@color/TextColor"/>
+</selector>

+ 0 - 3
app/src/main/res/drawable/custom_radio_button.xml

@@ -1,3 +0,0 @@
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:drawable="@drawable/radio_checked" android:state_checked="true" />
-</selector>

+ 6 - 0
app/src/main/res/drawable/ic_camera.xml

@@ -0,0 +1,6 @@
+<vector android:height="40dp" android:tint="#000000"
+    android:viewportHeight="24" android:viewportWidth="24"
+    android:width="40dp" xmlns:android="http://schemas.android.com/apk/res/android">
+    <path android:fillColor="@android:color/white" android:pathData="M12,12m-3.2,0a3.2,3.2 0,1 1,6.4 0a3.2,3.2 0,1 1,-6.4 0"/>
+    <path android:fillColor="@android:color/white" android:pathData="M9,2L7.17,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2h-3.17L15,2L9,2zM12,17c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5z"/>
+</vector>

+ 5 - 0
app/src/main/res/drawable/ic_evemt_location.xml

@@ -0,0 +1,5 @@
+<vector android:height="40dp" android:tint="#000000"
+    android:viewportHeight="24" android:viewportWidth="24"
+    android:width="40dp" xmlns:android="http://schemas.android.com/apk/res/android">
+    <path android:fillColor="@android:color/white" android:pathData="M12,2c3.86,0 7,3.14 7,7 0,5.25 -7,13 -7,13S5,14.25 5,9c0,-3.86 3.14,-7 7,-7zM10.47,14L17,7.41 15.6,6l-5.13,5.18L8.4,9.09 7,10.5l3.47,3.5z"/>
+</vector>

+ 5 - 0
app/src/main/res/drawable/ic_galary.xml

@@ -0,0 +1,5 @@
+<vector android:height="40dp" android:tint="#000000"
+    android:viewportHeight="24" android:viewportWidth="24"
+    android:width="40dp" xmlns:android="http://schemas.android.com/apk/res/android">
+    <path android:fillColor="@android:color/white" android:pathData="M21,19V5c0,-1.1 -0.9,-2 -2,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2zM8.5,13.5l2.5,3.01L14.5,12l4.5,6H5l3.5,-4.5z"/>
+</vector>

+ 5 - 0
app/src/main/res/drawable/ic_right_arrow.xml

@@ -0,0 +1,5 @@
+<vector android:autoMirrored="true" android:height="25dp"
+    android:tint="#000000" android:viewportHeight="24"
+    android:viewportWidth="24" android:width="25dp" xmlns:android="http://schemas.android.com/apk/res/android">
+    <path android:fillColor="@android:color/white" android:pathData="M16.01,11H4v2h12.01v3L20,12l-3.99,-4z"/>
+</vector>

+ 1 - 1
app/src/main/res/drawable/ic_select_event_location.xml

@@ -1,4 +1,4 @@
-<vector android:height="80dp" android:tint="#000000"
+<vector android:height="80dp" android:tint="@color/TextColor"
     android:viewportHeight="24" android:viewportWidth="24"
     android:width="80dp" xmlns:android="http://schemas.android.com/apk/res/android">
     <path android:fillColor="@android:color/white" android:pathData="M20,1v3h3v2h-3v3h-2L18,6h-3L15,4h3L18,1h2zM12,13c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM14,3.25L14,7h3v3h2.92c0.05,0.39 0.08,0.79 0.08,1.2 0,3.32 -2.67,7.25 -8,11.8 -5.33,-4.55 -8,-8.48 -8,-11.8C4,6.22 7.8,3 12,3c0.68,0 1.35,0.08 2,0.25z"/>

+ 0 - 4
app/src/main/res/drawable/radio_checked.xml

@@ -1,4 +0,0 @@
-<shape xmlns:android="http://schemas.android.com/apk/res/android"
-    android:shape="oval">
-    <solid android:color="@color/MainColor" />
-</shape>

+ 6 - 0
app/src/main/res/drawable/rounded_image.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners android:radius="10dp" />
+    <solid android:color="#ffffff" />
+</shape>

+ 0 - 5
app/src/main/res/drawable/switch_selector.xml

@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:drawable="@drawable/switch_on" android:state_checked="true"/>
-    <item android:drawable="@drawable/switch_off"/>
-</selector>

+ 76 - 0
app/src/main/res/layout/dialog_choice_of_gender.xml

@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@drawable/black_border"
+    android:padding="10dp">
+
+    <RadioGroup
+        android:id="@+id/radioGroup"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:padding="15sp"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent">
+
+        <RadioButton
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:buttonTint="@color/switch_color"
+            android:text="Male"
+            android:checked="true"
+            android:textColor="@color/TextColor"
+            android:textSize="16sp" />
+
+        <RadioButton
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:buttonTint="@color/switch_color"
+            android:text="Female"
+            android:textColor="@color/TextColor"
+            android:textSize="16sp" />
+
+        <RadioButton
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:buttonTint="@color/switch_color"
+            android:text="Both"
+            android:textColor="@color/TextColor"
+            android:textSize="16sp" />
+
+    </RadioGroup>
+
+    <LinearLayout
+        android:id="@+id/linearLayout3"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal"
+        android:layout_marginTop="5dp"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/radioGroup">
+
+        <Button
+            android:id="@+id/btn_cancel"
+            android:layout_width="wrap_content"
+            android:layout_height="35dp"
+            android:background="@drawable/btn_with_big_corner"
+            android:backgroundTint="@color/MainColor"
+            android:text="Cancel"
+            android:textColor="@color/TextColor" />
+
+        <Button
+            android:id="@+id/btn_apply"
+            android:layout_width="wrap_content"
+            android:layout_height="35dp"
+            android:layout_marginStart="50dp"
+            android:background="@drawable/btn_with_big_corner"
+            android:backgroundTint="@color/MainColor"
+            android:text="Apply"
+            android:textColor="@color/TextColor" />
+
+    </LinearLayout>
+
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 3 - 4
app/src/main/res/layout/dialog_choice_of_sport.xml

@@ -53,9 +53,9 @@
                             android:tag="1,Basketball"
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:buttonTint="@color/TextColor"
-                            android:background="@drawable/custom_radio_button"
+                            android:buttonTint="@color/switch_color"
                             android:text=""
+                            android:checked="true"
                             app:layout_constraintBottom_toBottomOf="parent"
                             app:layout_constraintEnd_toEndOf="parent"
                             app:layout_constraintTop_toTopOf="parent" />
@@ -91,8 +91,7 @@
                             android:tag="2,Soccer"
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:buttonTint="@color/TextColor"
-                            android:background="@drawable/custom_radio_button"
+                            android:buttonTint="@color/switch_color"
                             android:text=""
                             app:layout_constraintBottom_toBottomOf="parent"
                             app:layout_constraintEnd_toEndOf="parent"

+ 52 - 0
app/src/main/res/layout/dialog_date_of_event.xml

@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@drawable/black_border"
+    android:padding="10dp">
+
+    <CalendarView
+        android:id="@+id/calendar"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:dateTextAppearance="@style/CalenderViewDateCustomText"
+        android:theme="@style/CalenderViewCustom"
+        android:weekDayTextAppearance="@style/CalenderViewWeekCustomText"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <LinearLayout
+        android:id="@+id/linearLayout3"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal"
+        android:layout_marginTop="10dp"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/calendar">
+
+        <Button
+            android:id="@+id/btn_cancel"
+            android:layout_width="wrap_content"
+            android:layout_height="35dp"
+            android:background="@drawable/btn_with_big_corner"
+            android:backgroundTint="@color/MainColor"
+            android:text="Cancel"
+            android:textColor="@color/TextColor" />
+
+        <Button
+            android:id="@+id/btn_apply"
+            android:layout_width="wrap_content"
+            android:layout_height="35dp"
+            android:layout_marginStart="50dp"
+            android:background="@drawable/btn_with_big_corner"
+            android:backgroundTint="@color/MainColor"
+            android:text="Apply"
+            android:textColor="@color/TextColor" />
+
+    </LinearLayout>
+
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 73 - 0
app/src/main/res/layout/dialog_end_date_of_event.xml

@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@drawable/black_border"
+    android:padding="10dp">
+
+    <CalendarView
+        android:id="@+id/calendar"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:dateTextAppearance="@style/CalenderViewDateCustomText"
+        android:theme="@style/CalenderViewCustom"
+        android:weekDayTextAppearance="@style/CalenderViewWeekCustomText"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        tools:layout_editor_absoluteX="10dp" />
+
+    <TextView
+        android:id="@+id/textView9"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="End time"
+        android:textColor="@color/TextColor"
+        android:textSize="16sp"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/calendar" />
+
+    <TimePicker
+        android:id="@+id/timePickerEnd"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:theme="@style/timePickerOrange"
+        android:timePickerMode="spinner"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/textView9" />
+
+    <LinearLayout
+        android:id="@+id/linearLayout3"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/timePickerEnd">
+
+        <Button
+            android:id="@+id/btn_cancel"
+            android:layout_width="wrap_content"
+            android:layout_height="35dp"
+            android:background="@drawable/btn_with_big_corner"
+            android:backgroundTint="@color/MainColor"
+            android:text="Cancel"
+            android:textColor="@color/TextColor" />
+
+        <Button
+            android:id="@+id/btn_apply"
+            android:layout_width="wrap_content"
+            android:layout_height="35dp"
+            android:layout_marginStart="50dp"
+            android:background="@drawable/btn_with_big_corner"
+            android:backgroundTint="@color/MainColor"
+            android:text="Apply"
+            android:textColor="@color/TextColor" />
+
+    </LinearLayout>
+
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 100 - 0
app/src/main/res/layout/dialog_member_limit.xml

@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@drawable/black_border"
+    android:padding="10dp">
+
+    <LinearLayout
+        android:id="@+id/linearLayout5"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent">
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="From"
+            android:textColor="@color/TextColor"
+            android:textSize="16dp" />
+
+        <TextView
+            android:id="@+id/tv_number_from"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="5dp"
+            android:text="Number"
+            android:textColor="@color/TextColor"
+            android:textSize="16dp" />
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="5dp"
+            android:text="to"
+            android:textColor="@color/TextColor"
+            android:textSize="16dp" />
+
+        <TextView
+            android:id="@+id/tv_number_to"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="5dp"
+            android:text="Number"
+            android:textColor="@color/TextColor"
+            android:textSize="16dp" />
+
+    </LinearLayout>
+
+    <com.google.android.material.slider.RangeSlider
+        android:id="@+id/rangeSlider"
+        style="@style/SliderStyle"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:stepSize="1"
+        android:valueFrom="2"
+        android:valueTo="100"
+        android:layout_marginTop="10dp"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/linearLayout5" />
+
+    <LinearLayout
+        android:id="@+id/linearLayout3"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal"
+        android:layout_marginTop="10dp"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/rangeSlider">
+
+        <Button
+            android:id="@+id/btn_cancel"
+            android:layout_width="wrap_content"
+            android:layout_height="35dp"
+            android:background="@drawable/btn_with_big_corner"
+            android:backgroundTint="@color/MainColor"
+            android:text="Cancel"
+            android:textColor="@color/TextColor" />
+
+        <Button
+            android:id="@+id/btn_apply"
+            android:layout_width="wrap_content"
+            android:layout_height="35dp"
+            android:layout_marginStart="50dp"
+            android:background="@drawable/btn_with_big_corner"
+            android:backgroundTint="@color/MainColor"
+            android:text="Apply"
+            android:textColor="@color/TextColor" />
+
+    </LinearLayout>
+
+
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 100 - 0
app/src/main/res/layout/dialog_recommended_level.xml

@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@drawable/black_border"
+    android:padding="10dp">
+
+    <LinearLayout
+        android:id="@+id/linearLayout5"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="10dp"
+        android:orientation="horizontal"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        tools:layout_editor_absoluteX="10dp">
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="From"
+            android:textColor="@color/TextColor"
+            android:textSize="16dp" />
+
+        <TextView
+            android:id="@+id/tv_number_from"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="5dp"
+            android:text="Number"
+            android:textColor="@color/TextColor"
+            android:textSize="16dp" />
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="5dp"
+            android:text="to"
+            android:textColor="@color/TextColor"
+            android:textSize="16dp" />
+
+        <TextView
+            android:id="@+id/tv_number_to"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="5dp"
+            android:text="Number"
+            android:textColor="@color/TextColor"
+            android:textSize="16dp" />
+
+    </LinearLayout>
+
+    <com.google.android.material.slider.RangeSlider
+        android:id="@+id/rangeSlider"
+        style="@style/SliderStyle"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:stepSize="0.01"
+        android:valueFrom="0"
+        android:valueTo="5"
+        android:layout_marginTop="10dp"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/linearLayout5" />
+
+    <LinearLayout
+        android:id="@+id/linearLayout3"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal"
+        android:layout_marginTop="10dp"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/rangeSlider">
+
+        <Button
+            android:id="@+id/btn_cancel"
+            android:layout_width="wrap_content"
+            android:layout_height="35dp"
+            android:background="@drawable/btn_with_big_corner"
+            android:backgroundTint="@color/MainColor"
+            android:text="Cancel"
+            android:textColor="@color/TextColor" />
+
+        <Button
+            android:id="@+id/btn_apply"
+            android:layout_width="wrap_content"
+            android:layout_height="35dp"
+            android:layout_marginStart="50dp"
+            android:background="@drawable/btn_with_big_corner"
+            android:backgroundTint="@color/MainColor"
+            android:text="Apply"
+            android:textColor="@color/TextColor" />
+
+    </LinearLayout>
+
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 113 - 0
app/src/main/res/layout/dialog_select_location.xml

@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:background="@drawable/black_border">
+
+    <org.osmdroid.views.MapView
+        android:id="@+id/dialog_map"
+        android:layout_width="match_parent"
+        android:layout_height="600dp"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <LinearLayout
+        android:id="@+id/linearLayout2"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginEnd="15dp"
+        android:orientation="vertical"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintVertical_bias="0.5">
+
+        <ImageButton
+            android:id="@+id/btnMyLocation"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:background="@drawable/black_border"
+            android:padding="7.5dp"
+            android:src="@drawable/ic_my_location"
+            app:tint="@color/TextColor" />
+
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginEnd="15dp"
+        android:orientation="vertical"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintVertical_bias="0.7">
+
+        <ImageButton
+            android:id="@+id/btn_zoomIn"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:background="@drawable/black_border"
+            android:padding="5dp"
+            android:src="@drawable/ic_zoom_in"
+            app:tint="@color/TextColor" />
+
+        <ImageButton
+            android:id="@+id/btn_zoomOut"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="10dp"
+            android:background="@drawable/black_border"
+            android:padding="5dp"
+            android:src="@drawable/ic_zoom_out"
+            app:tint="@color/TextColor" />
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:id="@+id/linearLayout3"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal"
+        android:layout_marginBottom="10dp"
+        app:layout_constraintBottom_toBottomOf="@+id/dialog_map"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent">
+
+        <Button
+            android:id="@+id/btn_cancel"
+            android:layout_width="wrap_content"
+            android:layout_height="35dp"
+            android:background="@drawable/btn_with_big_corner"
+            android:backgroundTint="@color/MainColor"
+            android:text="Cancel"
+            android:textColor="@color/TextColor" />
+
+        <Button
+            android:id="@+id/btn_apply"
+            android:layout_width="wrap_content"
+            android:layout_height="35dp"
+            android:layout_marginStart="50dp"
+            android:background="@drawable/btn_with_big_corner"
+            android:backgroundTint="@color/MainColor"
+            android:text="Apply"
+            android:textColor="@color/TextColor" />
+
+    </LinearLayout>
+
+    <ImageView
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:src="@drawable/ic_evemt_location"
+        app:layout_constraintBottom_toBottomOf="@+id/dialog_map"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="@+id/dialog_map"
+        app:tint="#4DFF0000" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 82 - 0
app/src/main/res/layout/dialog_time_of_event.xml

@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@drawable/black_border"
+    android:padding="10dp">
+
+    <TextView
+        android:id="@+id/textView8"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="Start time"
+        android:textColor="@color/TextColor"
+        android:textSize="16sp"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <TimePicker
+        android:id="@+id/timePickerStart"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:theme="@style/timePickerOrange"
+        android:timePickerMode="spinner"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/textView8" />
+
+    <TextView
+        android:id="@+id/textView9"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="End time"
+        android:textColor="@color/TextColor"
+        android:textSize="16sp"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/timePickerStart" />
+
+    <TimePicker
+        android:id="@+id/timePickerEnd"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:theme="@style/timePickerOrange"
+        android:timePickerMode="spinner"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/textView9" />
+
+    <LinearLayout
+        android:id="@+id/linearLayout3"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/timePickerEnd">
+
+        <Button
+            android:id="@+id/btn_cancel"
+            android:layout_width="wrap_content"
+            android:layout_height="35dp"
+            android:background="@drawable/btn_with_big_corner"
+            android:backgroundTint="@color/MainColor"
+            android:text="Cancel"
+            android:textColor="@color/TextColor" />
+
+        <Button
+            android:id="@+id/btn_apply"
+            android:layout_width="wrap_content"
+            android:layout_height="35dp"
+            android:layout_marginStart="50dp"
+            android:background="@drawable/btn_with_big_corner"
+            android:backgroundTint="@color/MainColor"
+            android:text="Apply"
+            android:textColor="@color/TextColor" />
+
+    </LinearLayout>
+
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 278 - 2
app/src/main/res/layout/fragment_calendar.xml

@@ -5,13 +5,13 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     tools:context=".view.fragments.CalendarFragment"
-    android:background="@color/AppBackground">
+    android:background="@color/AppBackground"
+    android:padding="15dp">
 
     <CalendarView
         android:id="@+id/test"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_margin="5dp"
         android:background="@drawable/black_border"
         android:dateTextAppearance="@style/CalenderViewDateCustomText"
         android:theme="@style/CalenderViewCustom"
@@ -20,5 +20,281 @@
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toTopOf="parent" />
 
+    <LinearLayout
+        android:id="@+id/linearLayout4"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="15dp"
+        android:background="@drawable/black_border"
+        android:orientation="vertical"
+        android:padding="15dp"
+        app:layout_constraintTop_toBottomOf="@+id/test">
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="DayHeader"
+            android:textColor="@color/TextColor"
+            android:textSize="16sp"
+            android:textStyle="bold" />
+
+        <LinearLayout
+            android:layout_width="wrap_content"
+            android:layout_height="40dp"
+            android:layout_marginTop="15dp"
+            android:orientation="horizontal">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="match_parent"
+                android:src="@drawable/ic_sport_icon"
+                app:tint="@color/TextColor" />
+
+            <LinearLayout
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="15dp"
+                android:orientation="vertical">
+
+                <LinearLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="20dp"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:drawablePadding="5dp"
+                        android:text="11:00"
+                        android:textColor="@color/TextColor"
+                        android:textSize="14sp"
+                        app:drawableRightCompat="@drawable/ic_right_arrow"
+                        app:drawableTint="@color/TextColor" />
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:layout_marginStart="5dp"
+                        android:text=" 12:30"
+                        android:textColor="@color/TextColor"
+                        android:textSize="14sp" />
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="20dp"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:layout_marginEnd="5dp"
+                        android:text="Jogging -"
+                        android:textColor="@color/TextColor"
+                        android:textSize="14sp" />
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:layout_marginEnd="5dp"
+                        android:text="2km away -"
+                        android:textColor="@color/TextColor"
+                        android:textSize="14sp" />
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:layout_marginEnd="5dp"
+                        android:text="4 members"
+                        android:textColor="@color/TextColor"
+                        android:textSize="14sp" />
+
+                </LinearLayout>
+
+            </LinearLayout>
+
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="wrap_content"
+            android:layout_height="40dp"
+            android:layout_marginTop="15dp"
+            android:orientation="horizontal">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="match_parent"
+                android:src="@drawable/ic_sport_icon"
+                app:tint="@color/TextColor" />
+
+            <LinearLayout
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="15dp"
+                android:orientation="vertical">
+
+                <LinearLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="20dp"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:drawablePadding="5dp"
+                        android:text="11:00"
+                        android:textColor="@color/TextColor"
+                        android:textSize="14sp"
+                        app:drawableRightCompat="@drawable/ic_right_arrow"
+                        app:drawableTint="@color/TextColor" />
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:layout_marginStart="5dp"
+                        android:text=" 12:30"
+                        android:textColor="@color/TextColor"
+                        android:textSize="14sp" />
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="20dp"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:layout_marginEnd="5dp"
+                        android:text="Jogging -"
+                        android:textColor="@color/TextColor"
+                        android:textSize="14sp" />
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:layout_marginEnd="5dp"
+                        android:text="2km away -"
+                        android:textColor="@color/TextColor"
+                        android:textSize="14sp" />
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:layout_marginEnd="5dp"
+                        android:text="4 members"
+                        android:textColor="@color/TextColor"
+                        android:textSize="14sp" />
+
+                </LinearLayout>
+
+            </LinearLayout>
+
+        </LinearLayout>
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:background="@drawable/black_border"
+        android:orientation="vertical"
+        android:padding="15dp"
+        android:layout_marginTop="15dp"
+        app:layout_constraintTop_toBottomOf="@+id/linearLayout4">
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="Completed"
+            android:textColor="@color/TextColor"
+            android:textSize="16sp"
+            android:textStyle="bold" />
+
+        <LinearLayout
+            android:layout_width="wrap_content"
+            android:layout_height="40dp"
+            android:layout_marginTop="15dp"
+            android:orientation="horizontal">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="match_parent"
+                android:src="@drawable/ic_sport_icon"
+                app:tint="@color/SubTextColor" />
+
+            <LinearLayout
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="15dp"
+                android:orientation="vertical">
+
+                <LinearLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="20dp"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:drawablePadding="5dp"
+                        android:text="11:00"
+                        android:textColor="@color/SubTextColor"
+                        android:textSize="14sp"
+                        app:drawableRightCompat="@drawable/ic_right_arrow"
+                        app:drawableTint="@color/SubTextColor" />
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:layout_marginStart="5dp"
+                        android:text=" 12:30"
+                        android:textColor="@color/SubTextColor"
+                        android:textSize="14sp" />
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="20dp"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:layout_marginEnd="5dp"
+                        android:text="Jogging -"
+                        android:textColor="@color/SubTextColor"
+                        android:textSize="14sp" />
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:layout_marginEnd="5dp"
+                        android:text="2km away -"
+                        android:textColor="@color/SubTextColor"
+                        android:textSize="14sp" />
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:layout_marginEnd="5dp"
+                        android:text="4 members"
+                        android:textColor="@color/SubTextColor"
+                        android:textSize="14sp" />
+
+                </LinearLayout>
+
+            </LinearLayout>
+
+        </LinearLayout>
+
+
+        </LinearLayout>
+
+    </LinearLayout>
+
 
 </androidx.constraintlayout.widget.ConstraintLayout>

+ 522 - 0
app/src/main/res/layout/fragment_create_event.xml

@@ -0,0 +1,522 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".view.fragments.CreateEventFragment"
+    android:background="@color/AppBackground"
+    android:padding="15dp">
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/constraintLayout"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent">
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical"
+            android:text="Create event"
+            android:textColor="@color/TextColor"
+            android:textSize="16sp"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <Button
+            android:id="@+id/btnSave"
+            android:layout_width="wrap_content"
+            android:layout_height="35dp"
+            android:layout_gravity="end"
+            android:background="@drawable/btn_with_big_corner"
+            android:backgroundTint="@color/MainColor"
+            android:text="Save"
+            android:textColor="@color/TextColor"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_marginTop="15dp"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/constraintLayout"
+        app:layout_constraintBottom_toBottomOf="parent">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="vertical">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical">
+
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:id="@+id/eventLocationBlock"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="horizontal"
+                    android:background="@drawable/black_border">
+
+                    <androidx.constraintlayout.widget.ConstraintLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="100dp"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintStart_toStartOf="parent">
+
+                        <RelativeLayout
+                            android:id="@+id/relativeLayout2"
+                            android:layout_width="100dp"
+                            android:layout_height="100dp"
+                            app:layout_constraintBottom_toBottomOf="parent"
+                            app:layout_constraintStart_toStartOf="parent"
+                            app:layout_constraintTop_toTopOf="parent">
+
+                            <com.google.android.material.imageview.ShapeableImageView
+                                android:id="@+id/shapeableImageView"
+                                android:layout_width="100dp"
+                                android:layout_height="100dp"
+                                app:shapeAppearance="@style/roundedImageViewRounded" />
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="match_parent"
+                                android:layout_marginStart="10dp"
+                                android:gravity="center_vertical"
+                                android:text="Place"
+                                android:textColor="@color/TextColor"
+                                android:textSize="16sp" />
+
+                        </RelativeLayout>
+
+                        <TextView
+                            android:id="@+id/eventLocationBlockText"
+                            android:layout_width="0dp"
+                            android:layout_height="match_parent"
+                            android:drawablePadding="10dp"
+                            android:padding="10dp"
+                            android:text=""
+                            android:textColor="@color/MainColor"
+                            app:drawableRightCompat="@drawable/ic_forward"
+                            app:drawableTint="@color/TextColor"
+                            app:layout_constraintBottom_toBottomOf="parent"
+                            app:layout_constraintEnd_toEndOf="parent"
+                            app:layout_constraintStart_toEndOf="@+id/relativeLayout2"
+                            app:layout_constraintTop_toTopOf="parent" />
+
+                    </androidx.constraintlayout.widget.ConstraintLayout>
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:id="@+id/sportBlock"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:layout_marginTop="5dp"
+                    android:background="@drawable/black_border"
+                    android:paddingStart="15dp"
+                    android:paddingTop="20dp"
+                    android:paddingEnd="15dp"
+                    android:paddingBottom="20dp">
+
+                    <TextView
+                        android:id="@+id/textView7"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="Sport"
+                        android:textColor="@color/TextColor"
+                        android:textSize="16sp"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent" />
+
+                    <TextView
+                        android:id="@+id/sportBlockText"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text=""
+                        android:textColor="@color/MainColor"
+                        android:textSize="16sp"
+                        android:drawablePadding="10dp"
+                        app:drawableRightCompat="@drawable/ic_forward"
+                        app:drawableTint="@color/TextColor"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintTop_toTopOf="parent" />
+
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:id="@+id/memberLimitsBlock"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:layout_marginTop="5dp"
+                    android:background="@drawable/black_border"
+                    android:paddingStart="15dp"
+                    android:paddingTop="20dp"
+                    android:paddingEnd="15dp"
+                    android:paddingBottom="20dp">
+
+                    <TextView
+                        android:id="@+id/textView10"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="Member limits"
+                        android:textColor="@color/TextColor"
+                        android:textSize="16sp"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent" />
+
+                    <TextView
+                        android:id="@+id/memberLimitsBlockText"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text=""
+                        android:textColor="@color/MainColor"
+                        android:textSize="16sp"
+                        android:drawablePadding="10dp"
+                        app:drawableRightCompat="@drawable/ic_forward"
+                        app:drawableTint="@color/TextColor"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintTop_toTopOf="parent" />
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:id="@+id/dayBlock"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:layout_marginTop="5dp"
+                    android:background="@drawable/black_border"
+                    android:paddingStart="15dp"
+                    android:paddingTop="20dp"
+                    android:paddingEnd="15dp"
+                    android:paddingBottom="20dp">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="Day"
+                        android:textColor="@color/TextColor"
+                        android:textSize="16sp"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent" />
+
+                    <TextView
+                        android:id="@+id/dayBlockText"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:drawablePadding="10dp"
+                        android:text=""
+                        android:textColor="@color/MainColor"
+                        android:textSize="16sp"
+                        app:drawableRightCompat="@drawable/ic_forward"
+                        app:drawableTint="@color/TextColor"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintTop_toTopOf="parent" />
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:id="@+id/timeBlock"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:layout_marginTop="5dp"
+                    android:background="@drawable/black_border"
+                    android:paddingStart="15dp"
+                    android:paddingTop="20dp"
+                    android:paddingEnd="15dp"
+                    android:paddingBottom="20dp">
+
+                    <TextView
+                        android:id="@+id/textView11"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="Time"
+                        android:textColor="@color/TextColor"
+                        android:textSize="16sp"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent" />
+
+                    <TextView
+                        android:id="@+id/timeBlockText"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:drawablePadding="10dp"
+                        android:text=""
+                        android:textColor="@color/MainColor"
+                        android:textSize="16sp"
+                        app:drawableRightCompat="@drawable/ic_forward"
+                        app:drawableTint="@color/TextColor"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintTop_toTopOf="parent" />
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:id="@+id/publicBlock"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:layout_marginTop="5dp"
+                    android:background="@drawable/black_border"
+                    android:paddingStart="15dp"
+                    android:paddingTop="20dp"
+                    android:paddingEnd="15dp"
+                    android:paddingBottom="20dp">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="Public"
+                        android:textColor="@color/TextColor"
+                        android:textSize="16sp"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent" />
+
+                    <androidx.appcompat.widget.SwitchCompat
+                        android:id="@+id/publicBlockSwitcher"
+                        style="@style/SwitchCompatStyle"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintTop_toTopOf="parent" />
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="25dp"
+                android:orientation="vertical">
+
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:id="@+id/endRegistrationBlock"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:layout_marginTop="5dp"
+                    android:background="@drawable/black_border"
+                    android:paddingStart="15dp"
+                    android:paddingTop="20dp"
+                    android:paddingEnd="15dp"
+                    android:paddingBottom="20dp">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="End registration"
+                        android:textColor="@color/TextColor"
+                        android:textSize="16sp"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent" />
+
+                    <TextView
+                        android:id="@+id/endRegistrationBlockText"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text=""
+                        android:textColor="@color/MainColor"
+                        android:textSize="16sp"
+                        android:drawablePadding="10dp"
+                        app:drawableRightCompat="@drawable/ic_forward"
+                        app:drawableTint="@color/TextColor"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"/>
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:id="@+id/levelBlock"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:layout_marginTop="5dp"
+                    android:background="@drawable/black_border"
+                    android:paddingStart="15dp"
+                    android:paddingTop="20dp"
+                    android:paddingEnd="15dp"
+                    android:paddingBottom="20dp">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="Level"
+                        android:textColor="@color/TextColor"
+                        android:textSize="16sp"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent" />
+
+                    <TextView
+                        android:id="@+id/levelBlockText"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text=""
+                        android:textColor="@color/MainColor"
+                        android:textSize="16sp"
+                        android:drawablePadding="10dp"
+                        app:drawableRightCompat="@drawable/ic_forward"
+                        app:drawableTint="@color/TextColor"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"/>
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:id="@+id/genderBlock"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:layout_marginTop="5dp"
+                    android:background="@drawable/black_border"
+                    android:paddingStart="15dp"
+                    android:paddingTop="20dp"
+                    android:paddingEnd="15dp"
+                    android:paddingBottom="20dp">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="Gender"
+                        android:textColor="@color/TextColor"
+                        android:textSize="16sp"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent" />
+
+                    <TextView
+                        android:id="@+id/genderBlockText"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text=""
+                        android:textColor="@color/MainColor"
+                        android:textSize="16sp"
+                        android:drawablePadding="10dp"
+                        app:drawableRightCompat="@drawable/ic_forward"
+                        app:drawableTint="@color/TextColor"
+                        app:layout_constraintBottom_toBottomOf="parent"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"/>
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="25dp"
+                android:orientation="vertical">
+
+                <LinearLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:orientation="horizontal">
+
+                    <ImageView
+                        android:layout_width="25dp"
+                        android:layout_height="25dp"
+                        android:src="@drawable/ic_camera"
+                        app:tint="@color/TextColor" />
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="center"
+                        android:layout_marginStart="10dp"
+                        android:text="Add picture"
+                        android:textColor="@color/SubTextColor"
+                        android:textSize="16sp" />
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="10dp"
+                    android:orientation="horizontal">
+
+                    <ImageButton
+                        android:id="@+id/btn_get_image_from_galary"
+                        android:layout_width="wrap_content"
+                        android:layout_height="100dp"
+                        android:background="@drawable/black_border"
+                        android:backgroundTint="@color/MainColor"
+                        android:padding="5dp"
+                        android:src="@drawable/ic_galary"
+                        app:tint="@color/TextColor" />
+
+                    <ImageButton
+                        android:id="@+id/btn_get_image_from_camera"
+                        android:layout_width="wrap_content"
+                        android:layout_height="100dp"
+                        android:layout_marginStart="10dp"
+                        android:background="@drawable/black_border"
+                        android:padding="5dp"
+                        android:src="@drawable/ic_camera"
+                        app:tint="@color/TextColor" />
+
+                    <HorizontalScrollView
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginStart="10dp"
+                        android:layout_marginEnd="10dp">
+
+                        <LinearLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:orientation="horizontal"
+                            android:id="@+id/photo_container">
+
+                        </LinearLayout>
+
+                    </HorizontalScrollView>
+
+                </LinearLayout>
+
+            </LinearLayout>
+
+            <EditText
+                android:id="@+id/notes"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="20dp"
+                android:background="@drawable/black_border"
+                android:hint="Notes"
+                android:inputType="textMultiLine"
+                android:minLines="1"
+                android:paddingStart="25dp"
+                android:paddingTop="15dp"
+                android:paddingBottom="20dp"
+                android:paddingEnd="25dp"
+                android:textColor="@color/TextColor"
+                android:textColorHint="@color/SubTextColor"
+                android:layout_marginBottom="10dp"/>
+
+        </LinearLayout>
+
+    </ScrollView>
+
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 0 - 322
app/src/main/res/layout/fragment_create_metting.xml

@@ -1,322 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    tools:context=".view.fragments.CreateMettingFragment"
-    android:background="@color/AppBackground">
-
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/constraintLayout"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:padding="15dp"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent">
-
-        <LinearLayout
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent">
-
-            <ImageButton
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:background="#00000000"
-                android:padding="5dp"
-                android:src="@drawable/ic_back"
-                app:tint="@color/TextColor" />
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center_vertical"
-                android:layout_marginStart="10dp"
-                android:text="Create event"
-                android:textColor="@color/TextColor"
-                android:textSize="16sp" />
-
-        </LinearLayout>
-
-        <Button
-            android:layout_width="wrap_content"
-            android:layout_height="35dp"
-            android:layout_gravity="end"
-            android:background="@drawable/btn_with_big_corner"
-            android:backgroundTint="@color/MainColor"
-            android:text="Save"
-            android:textColor="@color/TextColor"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-
-    </androidx.constraintlayout.widget.ConstraintLayout>
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="vertical"
-        android:layout_margin="15dp"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/constraintLayout">
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:background="@drawable/black_border">
-
-           <ImageButton
-               android:layout_width="wrap_content"
-               android:layout_height="wrap_content"
-               android:src="@drawable/ic_select_event_location"
-               android:background="@drawable/black_border_2"
-               app:tint="@color/TextColor"
-               android:padding="10dp"/>
-
-            <TextView
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:padding="25dp"
-                android:text="Yaroslavskaya Ulitsa, 12, стр.2, Moscow, 129366"
-                android:textColor="@color/TextColor"/>
-
-        </LinearLayout>
-
-        <androidx.constraintlayout.widget.ConstraintLayout
-            android:id="@+id/sportBlock"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_marginTop="5dp"
-            android:background="@drawable/black_border"
-            android:paddingStart="15dp"
-            android:paddingTop="20dp"
-            android:paddingEnd="15dp"
-            android:paddingBottom="20dp">
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="Sport"
-                android:textColor="@color/TextColor"
-                android:textSize="16dp"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toTopOf="parent" />
-
-            <LinearLayout
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:orientation="horizontal"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintTop_toTopOf="parent">
-
-                <TextView
-                    android:id="@+id/sportBlockText"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text=""
-                    android:textSize="16sp"
-                    android:textColor="@color/TextColor"/>
-
-                <ImageView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:src="@drawable/ic_forward"
-                    android:layout_marginStart="10dp"
-                    app:tint="@color/TextColor" />
-
-
-            </LinearLayout>
-
-        </androidx.constraintlayout.widget.ConstraintLayout>
-
-        <androidx.constraintlayout.widget.ConstraintLayout
-            android:id="@+id/memberLimitsBlock"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_marginTop="5dp"
-            android:background="@drawable/black_border"
-            android:paddingStart="15dp"
-            android:paddingTop="20dp"
-            android:paddingEnd="15dp"
-            android:paddingBottom="20dp">
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="Member limits"
-                android:textColor="@color/TextColor"
-                android:textSize="16dp"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toTopOf="parent" />
-
-            <LinearLayout
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:orientation="horizontal"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintTop_toTopOf="parent">
-
-                <TextView
-                    android:id="@+id/memberLimitsBlockText"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text=""
-                    android:textSize="16sp"
-                    android:textColor="@color/TextColor"/>
-
-                <ImageView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:src="@drawable/ic_forward"
-                    android:layout_marginStart="10dp"
-                    app:tint="@color/TextColor" />
-
-
-            </LinearLayout>
-
-        </androidx.constraintlayout.widget.ConstraintLayout>
-
-        <androidx.constraintlayout.widget.ConstraintLayout
-            android:id="@+id/dayBlock"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_marginTop="5dp"
-            android:background="@drawable/black_border"
-            android:paddingStart="15dp"
-            android:paddingTop="20dp"
-            android:paddingEnd="15dp"
-            android:paddingBottom="20dp">
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="Day"
-                android:textColor="@color/TextColor"
-                android:textSize="16dp"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toTopOf="parent" />
-
-            <LinearLayout
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:orientation="horizontal"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintTop_toTopOf="parent">
-
-                <TextView
-                    android:id="@+id/dayBlockText"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text=""
-                    android:textSize="16sp"
-                    android:textColor="@color/TextColor"/>
-
-                <ImageView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:src="@drawable/ic_forward"
-                    android:layout_marginStart="10dp"
-                    app:tint="@color/TextColor" />
-
-
-            </LinearLayout>
-
-        </androidx.constraintlayout.widget.ConstraintLayout>
-
-        <androidx.constraintlayout.widget.ConstraintLayout
-            android:id="@+id/timeBlock"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_marginTop="5dp"
-            android:background="@drawable/black_border"
-            android:paddingStart="15dp"
-            android:paddingTop="20dp"
-            android:paddingEnd="15dp"
-            android:paddingBottom="20dp">
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="Time"
-                android:textColor="@color/TextColor"
-                android:textSize="16dp"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toTopOf="parent" />
-
-            <LinearLayout
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:orientation="horizontal"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintTop_toTopOf="parent">
-
-                <TextView
-                    android:id="@+id/timeBlockText"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text=""
-                    android:textSize="16sp"
-                    android:textColor="@color/TextColor"/>
-
-                <ImageView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:src="@drawable/ic_forward"
-                    android:layout_marginStart="10dp"
-                    app:tint="@color/TextColor" />
-
-
-            </LinearLayout>
-
-        </androidx.constraintlayout.widget.ConstraintLayout>
-
-        <androidx.constraintlayout.widget.ConstraintLayout
-            android:id="@+id/publicBlock"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_marginTop="5dp"
-            android:background="@drawable/black_border"
-            android:paddingStart="15dp"
-            android:paddingTop="20dp"
-            android:paddingEnd="15dp"
-            android:paddingBottom="20dp">
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="Public"
-                android:textColor="@color/TextColor"
-                android:textSize="16dp"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toTopOf="parent" />
-
-            <androidx.appcompat.widget.SwitchCompat
-                android:id="@+id/publicBlockSwitcher"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintTop_toTopOf="parent"
-                />
-
-        </androidx.constraintlayout.widget.ConstraintLayout>
-
-    </LinearLayout>
-
-</androidx.constraintlayout.widget.ConstraintLayout>

+ 8 - 8
app/src/main/res/layout/fragment_map.xml

@@ -7,13 +7,13 @@
     android:background="@color/AppBackground">
 
     <org.osmdroid.views.MapView
-            android:id="@+id/map"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
+        android:id="@+id/map"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
 
     <ImageButton
         android:layout_width="wrap_content"
@@ -104,7 +104,7 @@
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:text="View event list"
+            android:text="Event list"
             android:textColor="@color/TextColor"
             android:textSize="16sp"
             android:layout_marginStart="15dp"/>

+ 5 - 5
app/src/main/res/layout/fragment_profile.xml

@@ -1,16 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.swiperefreshlayout.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    tools:context=".view.fragments.CreateMettingFragment"
+    tools:context=".view.fragments.CreateEventFragment"
     android:background="@color/AppBackground">
 
     <!-- TODO: Update blank fragment layout -->
     <TextView
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
         android:text="@string/hello_blank_fragment"
         android:textColor="@color/TextColor"/>
 
-</FrameLayout>
+</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>

+ 16 - 0
app/src/main/res/values/themes.xml

@@ -53,4 +53,20 @@
         <item name="materialThemeOverlay">@style/ThemeOverlay.Slider</item>
     </style>
 
+    <style name="SwitchCompatStyle" >
+        <item name="thumbTint">@color/switch_color</item>
+        <item name="trackTint">@color/switch_color</item>
+    </style>
+
+    <style name="timePickerOrange">
+        <item name="android:textColorPrimary">@color/TextColor</item> <!-- color for digits -->
+        <item name="android:textColor">@color/TextColor</item> <!-- color for colon -->
+        <item name="android:colorControlNormal">@color/TextColor</item> <!-- color for (horizontal) delimeters -->
+    </style>
+
+    <style name="roundedImageViewRounded">
+        <item name="cornerFamily">rounded</item>
+        <item name="cornerSize">10%</item>
+    </style>
+
 </resources>

+ 1 - 0
settings.gradle

@@ -10,6 +10,7 @@ dependencyResolutionManagement {
     repositories {
         google()
         mavenCentral()
+        maven { url 'https://jitpack.io' }
     }
 }
 rootProject.name = "SportsmanFriend"