Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/filter #25

Open
wants to merge 21 commits into
base: develop
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -64,6 +64,7 @@ fastlane/test_output
fastlane/readme.md

#build
app/build/
app/build/outputs/logs/manifest-merger-debug-report.txt
app/build/intermediates/merged_manifests/debugAndroidTest/AndroidManifest.xml
app/build/intermediates/merged_manifests/debug/AndroidManifest.xml
3 changes: 3 additions & 0 deletions .idea/codeStyles/Project.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

235 changes: 0 additions & 235 deletions app/Covey-android-app.iml

This file was deleted.

16 changes: 8 additions & 8 deletions app/app.iml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -11,9 +11,6 @@
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />

<application
android:name="org.yapp.covey.util.GlobalApplication"
@@ -27,15 +24,6 @@
android:testOnly="true"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true" >
<activity
android:name="org.yapp.covey.activity.SearchAddressActivity"
android:theme="@style/AppTheme.CustomAppBar" />
<activity
android:name="com.yongbeom.aircalendar.AirCalendarDatePickerActivity"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name="org.yapp.covey.activity.CustomCalendarActivity"
android:theme="@style/Theme.Design.NoActionBar" />
<activity
android:name="org.yapp.covey.activity.UploadActivity"
android:theme="@style/AppTheme.CustomAppBar" />
@@ -60,7 +48,8 @@
<activity
android:name="org.yapp.covey.activity.MainActivity"
android:theme="@style/AppTheme.StatusBarWhite"
android:windowSoftInputMode="adjustPan" />
android:windowSoftInputMode="adjustPan" >
</activity>
<activity
android:name="org.yapp.covey.activity.SignupActivity"
android:theme="@style/AppTheme" >
@@ -78,39 +67,24 @@
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_key" />

<activity
android:name="gun0912.tedimagepicker.TedImagePickerActivity"
android:theme="@style/TedImagePickerTheme" />
<activity
android:name="gun0912.tedimagepicker.zoom.TedImageZoomActivity"
android:theme="@style/TedImagePickerTheme.Zoom" />

<provider
android:name="androidx.core.content.FileProvider"
android:authorities="org.yapp.covey.provider"
android:exported="false"
android:grantUriPermissions="true" >
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>

<activity
android:name="com.gun0912.tedpermission.TedPermissionActivity"
android:configChanges="mcc|mnc|locale|keyboard|keyboardHidden|screenLayout|fontScale|uiMode|orientation|screenSize|layoutDirection"
android:screenOrientation="unspecified"
android:theme="@style/Theme.Transparent.Permission" />
<activity
android:name="com.facebook.FacebookActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:theme="@style/com_facebook_activity_theme" />
<activity android:name="com.facebook.CustomTabMainActivity" />
<activity android:name="com.facebook.CustomTabActivity" />
<activity
android:name="com.gun0912.tedonactivityresult.ProxyActivity"
android:configChanges="mcc|mnc|locale|keyboard|keyboardHidden|screenLayout|fontScale|uiMode|orientation|screenSize|layoutDirection"
android:screenOrientation="unspecified"
android:theme="@style/android:Theme.Translucent.NoTitleBar" />
android:name="com.kakao.auth.authorization.authcode.KakaoWebViewActivity"
android:configChanges="orientation|screenSize"
android:label="@string/com_kakao_login_button"
android:launchMode="singleTop"
android:windowSoftInputMode="adjustResize" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<!--
The initialization ContentProvider will call FacebookSdk.sdkInitialize automatically
with the application context. This config is merged in with the host app's manifest,
@@ -133,19 +107,6 @@
</intent-filter>
</receiver>

<activity
android:name="com.kakao.auth.authorization.authcode.KakaoWebViewActivity"
android:configChanges="orientation|screenSize"
android:label="@string/com_kakao_login_button"
android:launchMode="singleTop"
android:windowSoftInputMode="adjustResize" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

<provider
android:name="androidx.lifecycle.ProcessLifecycleOwnerInitializer"
android:authorities="org.yapp.covey.lifecycle-process"
Original file line number Diff line number Diff line change
@@ -12,9 +12,6 @@
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />

<application
android:name="org.yapp.covey.util.GlobalApplication"
@@ -28,15 +25,6 @@
android:testOnly="true"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true" >
<activity
android:name="org.yapp.covey.activity.SearchAddressActivity"
android:theme="@style/AppTheme.CustomAppBar" />
<activity
android:name="com.yongbeom.aircalendar.AirCalendarDatePickerActivity"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name="org.yapp.covey.activity.CustomCalendarActivity"
android:theme="@style/Theme.Design.NoActionBar" />
<activity
android:name="org.yapp.covey.activity.UploadActivity"
android:theme="@style/AppTheme.CustomAppBar" />
@@ -61,7 +49,8 @@
<activity
android:name="org.yapp.covey.activity.MainActivity"
android:theme="@style/AppTheme.StatusBarWhite"
android:windowSoftInputMode="adjustPan" />
android:windowSoftInputMode="adjustPan" >
</activity>
<activity
android:name="org.yapp.covey.activity.SignupActivity"
android:theme="@style/AppTheme" >
@@ -79,39 +68,24 @@
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_key" />

<activity
android:name="gun0912.tedimagepicker.TedImagePickerActivity"
android:theme="@style/TedImagePickerTheme" />
<activity
android:name="gun0912.tedimagepicker.zoom.TedImageZoomActivity"
android:theme="@style/TedImagePickerTheme.Zoom" />

<provider
android:name="androidx.core.content.FileProvider"
android:authorities="org.yapp.covey.provider"
android:exported="false"
android:grantUriPermissions="true" >
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>

<activity
android:name="com.gun0912.tedpermission.TedPermissionActivity"
android:configChanges="mcc|mnc|locale|keyboard|keyboardHidden|screenLayout|fontScale|uiMode|orientation|screenSize|layoutDirection"
android:screenOrientation="unspecified"
android:theme="@style/Theme.Transparent.Permission" />
<activity
android:name="com.facebook.FacebookActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:theme="@style/com_facebook_activity_theme" />
<activity android:name="com.facebook.CustomTabMainActivity" />
<activity android:name="com.facebook.CustomTabActivity" />
<activity
android:name="com.gun0912.tedonactivityresult.ProxyActivity"
android:configChanges="mcc|mnc|locale|keyboard|keyboardHidden|screenLayout|fontScale|uiMode|orientation|screenSize|layoutDirection"
android:screenOrientation="unspecified"
android:theme="@style/android:Theme.Translucent.NoTitleBar" />
android:name="com.kakao.auth.authorization.authcode.KakaoWebViewActivity"
android:configChanges="orientation|screenSize"
android:label="@string/com_kakao_login_button"
android:launchMode="singleTop"
android:windowSoftInputMode="adjustResize" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<!--
The initialization ContentProvider will call FacebookSdk.sdkInitialize automatically
with the application context. This config is merged in with the host app's manifest,
@@ -134,19 +108,6 @@
</intent-filter>
</receiver>

<activity
android:name="com.kakao.auth.authorization.authcode.KakaoWebViewActivity"
android:configChanges="orientation|screenSize"
android:label="@string/com_kakao_login_button"
android:launchMode="singleTop"
android:windowSoftInputMode="adjustResize" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

<provider
android:name="androidx.lifecycle.ProcessLifecycleOwnerInitializer"
android:authorities="org.yapp.covey.lifecycle-process"

Large diffs are not rendered by default.

65 changes: 13 additions & 52 deletions app/build/intermediates/merged_manifests/debug/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -11,9 +11,6 @@
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />

<application
android:name="org.yapp.covey.util.GlobalApplication"
@@ -27,15 +24,6 @@
android:testOnly="true"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true" >
<activity
android:name="org.yapp.covey.activity.SearchAddressActivity"
android:theme="@style/AppTheme.CustomAppBar" />
<activity
android:name="com.yongbeom.aircalendar.AirCalendarDatePickerActivity"
android:theme="@style/Theme.AppCompat.NoActionBar" />
<activity
android:name="org.yapp.covey.activity.CustomCalendarActivity"
android:theme="@style/Theme.Design.NoActionBar" />
<activity
android:name="org.yapp.covey.activity.UploadActivity"
android:theme="@style/AppTheme.CustomAppBar" />
@@ -60,7 +48,8 @@
<activity
android:name="org.yapp.covey.activity.MainActivity"
android:theme="@style/AppTheme.StatusBarWhite"
android:windowSoftInputMode="adjustPan" />
android:windowSoftInputMode="adjustPan" >
</activity>
<activity
android:name="org.yapp.covey.activity.SignupActivity"
android:theme="@style/AppTheme" >
@@ -78,39 +67,24 @@
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_key" />

<activity
android:name="gun0912.tedimagepicker.TedImagePickerActivity"
android:theme="@style/TedImagePickerTheme" />
<activity
android:name="gun0912.tedimagepicker.zoom.TedImageZoomActivity"
android:theme="@style/TedImagePickerTheme.Zoom" />

<provider
android:name="androidx.core.content.FileProvider"
android:authorities="org.yapp.covey.provider"
android:exported="false"
android:grantUriPermissions="true" >
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>

<activity
android:name="com.gun0912.tedpermission.TedPermissionActivity"
android:configChanges="mcc|mnc|locale|keyboard|keyboardHidden|screenLayout|fontScale|uiMode|orientation|screenSize|layoutDirection"
android:screenOrientation="unspecified"
android:theme="@style/Theme.Transparent.Permission" />
<activity
android:name="com.facebook.FacebookActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:theme="@style/com_facebook_activity_theme" />
<activity android:name="com.facebook.CustomTabMainActivity" />
<activity android:name="com.facebook.CustomTabActivity" />
<activity
android:name="com.gun0912.tedonactivityresult.ProxyActivity"
android:configChanges="mcc|mnc|locale|keyboard|keyboardHidden|screenLayout|fontScale|uiMode|orientation|screenSize|layoutDirection"
android:screenOrientation="unspecified"
android:theme="@style/android:Theme.Translucent.NoTitleBar" />
android:name="com.kakao.auth.authorization.authcode.KakaoWebViewActivity"
android:configChanges="orientation|screenSize"
android:label="@string/com_kakao_login_button"
android:launchMode="singleTop"
android:windowSoftInputMode="adjustResize" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<!--
The initialization ContentProvider will call FacebookSdk.sdkInitialize automatically
with the application context. This config is merged in with the host app's manifest,
@@ -133,19 +107,6 @@
</intent-filter>
</receiver>

<activity
android:name="com.kakao.auth.authorization.authcode.KakaoWebViewActivity"
android:configChanges="orientation|screenSize"
android:label="@string/com_kakao_login_button"
android:launchMode="singleTop"
android:windowSoftInputMode="adjustResize" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

<provider
android:name="androidx.lifecycle.ProcessLifecycleOwnerInitializer"
android:authorities="org.yapp.covey.lifecycle-process"
789 changes: 326 additions & 463 deletions app/build/outputs/logs/manifest-merger-debug-report.txt

Large diffs are not rendered by default.

17 changes: 3 additions & 14 deletions app/src/main/java/org/yapp/covey/activity/DetailActivity.java
Original file line number Diff line number Diff line change
@@ -45,12 +45,7 @@ protected void onCreate(Bundle savedInstanceState) {
binding.recyclerImage.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false));
binding.recyclerImage.addItemDecoration(new ItemDecorationLinear(this,8f,3));

binding.btnApply.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
clickApply(postId);
}
});
binding.btnApply.setOnClickListener(view -> clickApply(postId));
}
public void setButtonText(int activityCategory){
switch (activityCategory){
@@ -82,7 +77,6 @@ public void onResponse(Call<ItemDataModel> call, Response<ItemDataModel> respons
imageUriList.add(itemPostData.getImg3());
setImageRecycler(imageUriList);
setPostData(itemPostData);
// setButtonText(activityCategory);
}
else if (response.code() ==404){
Log.d(TAG, "code 404");
@@ -102,7 +96,7 @@ private void setPostData(ItemDataModel itemPostData){
binding.tvPay.setText("시급\t\t"+itemPostData.getPay()+"원");
binding.tvStartToEndDate.setText("일시\t\t"+itemPostData.getStartDate().substring(0,10)+" ~ "+itemPostData.getEndDate().substring(0,10));
binding.tvTime.setText("시간\t\t"+itemPostData.getWorkingTime());
binding.tvContent.setText(itemPostData.getDescription());
binding.tvDiscription.setText(itemPostData.getDescription());
binding.tvTitle.setText(itemPostData.getTitle());
}

@@ -115,12 +109,7 @@ private void setImageRecycler(ArrayList<String> imageList){
private void setCustomAppBar(){
CustomAppBar customAppBar = new CustomAppBar(this, getSupportActionBar());
customAppBar.setCustomAppBar("상세 정보");
customAppBar.setBackClickListener(new CustomAppBar.backClickListener() {
@Override
public void onBackClick(View v) {
finish();
}
});
customAppBar.setBackClickListener(v -> finish());
}
@SuppressLint("ResourceAsColor")
public void clickApply(String postId){
39 changes: 18 additions & 21 deletions app/src/main/java/org/yapp/covey/activity/MainActivity.java
Original file line number Diff line number Diff line change
@@ -38,30 +38,27 @@ protected void onCreate(Bundle savedInstanceState) {
}

private void setBottomNavigationView(BottomNavigationView view){
view.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener(){
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
switch (menuItem.getItemId()){
case R.id.menu_home:
changeFragment(fragmentHome);
setStatusBarColor(true);
break;
view.setOnNavigationItemSelectedListener(menuItem -> {
switch (menuItem.getItemId()){
case R.id.menu_home:
changeFragment(fragmentHome);
setStatusBarColor(true);
break;

case R.id.menu_apply:
changeFragment(fragmentApply);
setStatusBarColor(false);
break;
case R.id.menu_recruit:
changeFragment(fragmentRecruit);
setStatusBarColor(false);
break;
case R.id.menu_profile:
changeFragment(fragmentProfile);
setStatusBarColor(true);
case R.id.menu_apply:
changeFragment(fragmentApply);
setStatusBarColor(false);
break;
case R.id.menu_recruit:
changeFragment(fragmentRecruit);
setStatusBarColor(false);
break;
case R.id.menu_profile:
changeFragment(fragmentProfile);
setStatusBarColor(true);

}
return true;
}
return true;
});
}
private void setStatusBarColor(boolean enabled) {
18 changes: 6 additions & 12 deletions app/src/main/java/org/yapp/covey/activity/MoreItemActivity.java
Original file line number Diff line number Diff line change
@@ -55,20 +55,14 @@ protected void onCreate(Bundle savedInstanceState) {
}

getDetailData(categoryNum);
mLocationAdapter.setOnItemClickListener(new AdapterLocationList.OnItemClickListener() {
@Override
public void onItemClick(View v, int position) {
intentDetail.putExtra("postId",mLocationAdapter.mDataList.get(position).getId());
startActivity(intentDetail);
}
mLocationAdapter.setOnItemClickListener((v, position) -> {
intentDetail.putExtra("postId",mLocationAdapter.mDataList.get(position).getId());
startActivity(intentDetail);
});

mMoneyAdapter.setOnItemClickListener(new AdapterMoneyList.OnItemClickListener() {
@Override
public void onItemClick(View v, int position) {
intentDetail.putExtra("postId",mMoneyAdapter.mDataList.get(position).getId());
startActivity(intentDetail);
}
mMoneyAdapter.setOnItemClickListener((v, position) -> {
intentDetail.putExtra("postId",mMoneyAdapter.mDataList.get(position).getId());
startActivity(intentDetail);
});
}
public void getDetailData(int categoryNum){
27 changes: 6 additions & 21 deletions app/src/main/java/org/yapp/covey/activity/UploadActivity.java
Original file line number Diff line number Diff line change
@@ -6,29 +6,25 @@
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil;
import androidx.recyclerview.widget.LinearLayoutManager;

import com.yongbeom.aircalendar.core.AirCalendarIntent;

import org.yapp.covey.R;
import org.yapp.covey.adapter.AdapterCustomSpinner;
import org.yapp.covey.adapter.AdapterUploadImageList;
import org.yapp.covey.databinding.ActivityUploadBinding;
import org.yapp.covey.etc.CustomAppBar;
import org.yapp.covey.helper.DatePickerHelper;
import org.yapp.covey.helper.PermissionHelper;
import org.yapp.covey.helper.TextWatchHelper;
import org.yapp.covey.util.Singleton;

import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.List;

import gun0912.tedimagepicker.builder.TedImagePicker;
@@ -45,6 +41,7 @@ public class UploadActivity extends AppCompatActivity{
AdapterCustomSpinner mAdapterSpinner, mHourAdapterSpinner;
AdapterUploadImageList mAdapterImageList = new AdapterUploadImageList();
PermissionHelper permissionHelper = new PermissionHelper(this);
DatePickerHelper datePickerHelper;

// TextWatchHelper textWatchHelper = new TextWatchHelper();

@@ -96,6 +93,9 @@ protected void onCreate(Bundle savedInstanceState) {
startActivityForResult(intentAddress, REQUEST_CODE_ADDRESS);
});
binding.btnUpload.setOnClickListener(view -> sendUploadData());

ArrayList<String> weekDay = new ArrayList<>(Arrays.asList(getResources().getStringArray(R.array.week)));
datePickerHelper = new DatePickerHelper(this,weekDay);
}

private void setCustomAppBar(){
@@ -200,21 +200,6 @@ public void onNothingSelected(AdapterView<?> adapterView) {
}
}

public void showDatePicker(){
AirCalendarIntent intent = new AirCalendarIntent(this);
intent.isBooking(false);
intent.isSelect(false);
intent.isMonthLabels(false);
intent.setSelectButtonText("선택");
intent.setResetBtnText("리셋");
intent.setWeekStart(Calendar.MONDAY);
intent.setWeekDaysLanguage(AirCalendarIntent.Language.EN);

ArrayList<String> weekDay = new ArrayList<>(Arrays.asList(getResources().getStringArray(R.array.week)));
intent.setCustomWeekDays(weekDay);

startActivityForResult(intent, REQUEST_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
@@ -234,7 +219,7 @@ else if(requestCode == REQUEST_CODE_ADDRESS){
}

public void dateSelect(View view) {
showDatePicker();
startActivityForResult(datePickerHelper.getCalendarIntent(), REQUEST_CODE);
}

public void addImage(View view) {
12 changes: 12 additions & 0 deletions app/src/main/java/org/yapp/covey/adapter/AdapterCustomSpinner.java
Original file line number Diff line number Diff line change
@@ -10,6 +10,7 @@

import org.yapp.covey.R;

import java.util.ArrayList;
import java.util.List;

public class AdapterCustomSpinner extends BaseAdapter {
@@ -59,6 +60,9 @@ public View getDropDownView(int position, View convertView, ViewGroup parent) {
convertView = inflater.inflate(R.layout.item_spinner_dropdown, parent, false);
if (position == 0) {
convertView.setBackgroundResource(R.drawable.rounded_top_rectangle_outline_8dp);
if (dataList.size() == 2){
convertView.setBackgroundResource(R.drawable.rounded_rectangle_outline_8dp);
}
} else if (position == dataList.size()-2) {
convertView.setBackgroundResource(R.drawable.rounded_bottom_rectangle_outline_8dp);
}
@@ -67,4 +71,12 @@ public View getDropDownView(int position, View convertView, ViewGroup parent) {
tvData.setText(data);
return convertView;
}

public void resetSpinnerData(ArrayList<String> list, String spinnerCatepgory){
dataList.clear();
dataList = list;
dataList.add(spinnerCatepgory);

notifyDataSetChanged();
}
}
10 changes: 10 additions & 0 deletions app/src/main/java/org/yapp/covey/etc/FilterRunnable.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package org.yapp.covey.etc;

public class FilterRunnable implements Runnable {
FilterRunnable (){}

@Override
public void run() {

}
}
189 changes: 185 additions & 4 deletions app/src/main/java/org/yapp/covey/fragment/FilterDialogFragment.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
package org.yapp.covey.fragment;

import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.RadioGroup;
import android.widget.Spinner;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -12,23 +18,198 @@
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;

import org.yapp.covey.R;
import org.yapp.covey.activity.CustomCalendarActivity;
import org.yapp.covey.adapter.AdapterCustomSpinner;
import org.yapp.covey.databinding.LayoutDialogFilterBinding;
import org.yapp.covey.helper.DatePickerHelper;
import org.yapp.covey.model.ItemDataModel;
import org.yapp.covey.util.Singleton;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Objects;

import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;

import static android.app.Activity.RESULT_OK;

public class FilterDialogFragment extends BottomSheetDialogFragment {
private LayoutDialogFilterBinding binding;
private DatePickerHelper datePickerHelper;
AdapterCustomSpinner sCityAdapter, sGuAdapter;

private final static int REQUEST_CODE = 202;
private final static int SPINNER_TYPE_CITY = 1;
private final static int SPINNER_TYPE_GU = 2;

private String startDate, endDate, address1, address2;
private String category = "기타";
private int payment = 0;

private ArrayList<String> cityList= new ArrayList<>();
ArrayList<String> guList = new ArrayList<>();

private Thread sendThread = new sendFilterDataThread();

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
binding = DataBindingUtil.inflate(inflater, R.layout.layout_dialog_filter,container,false);
binding.tvCancel.setOnClickListener(view -> dismiss());

ArrayList<String> weekList = new ArrayList<>(Arrays.asList(getResources().getStringArray(R.array.week)));

datePickerHelper = new DatePickerHelper(getContext(), weekList);
binding.tvStartDate.setOnClickListener(view -> dateSelect());
binding.tvEndDate.setOnClickListener(view -> dateSelect());

cityList = new ArrayList<>(Arrays.asList(getResources().getStringArray(R.array.city)));
cityList.add("시");
setSpinner(binding.spinnerCity, cityList, SPINNER_TYPE_CITY);

binding.tvSetting.setOnClickListener(view -> sendThread.start());

return binding.getRoot();
}

private void dateSelect() {
startActivityForResult(datePickerHelper.getCalendarIntent(), REQUEST_CODE);
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if ((resultCode == RESULT_OK)&&(requestCode == REQUEST_CODE && data != null)) {
startDate = data.getStringExtra(CustomCalendarActivity.RESULT_SELECT_START_DATE);
endDate = data.getStringExtra(CustomCalendarActivity.RESULT_SELECT_END_DATE);
binding.tvStartDate.setText(startDate);
binding.tvEndDate.setText(endDate);
}
}

private void setSpinner(Spinner spinner, ArrayList<String> spinnerData, int type){
switch (type){
case SPINNER_TYPE_CITY : {
sCityAdapter = new AdapterCustomSpinner(getContext(),spinnerData);
spinner.setAdapter(sCityAdapter);
setItemSelectedListener();
break;
}
case SPINNER_TYPE_GU :{
sGuAdapter = new AdapterCustomSpinner(getContext(), spinnerData);
spinner.setAdapter(sGuAdapter);
break;
}
}
spinner.setSelection(spinnerData.size()-1);
}

binding.tvCancel.setOnClickListener(new View.OnClickListener() {
private void setItemSelectedListener() {
binding.spinnerCity.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onClick(View view) {
dismiss();
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) {
String[] locationDetailStr = null;
switch (position) {
case 0:
locationDetailStr = getResources().getStringArray(R.array.seoul);
break;
case 1:
locationDetailStr = getResources().getStringArray(R.array.kyung_gi);
break;
case 2:
locationDetailStr = getResources().getStringArray(R.array.incheon);
break;
case 3:
locationDetailStr = getResources().getStringArray(R.array.busan);
break;
case 4:
locationDetailStr = getResources().getStringArray(R.array.daegu);
break;
case 5:
locationDetailStr = getResources().getStringArray(R.array.daejeon);
break;
case 6:
locationDetailStr = getResources().getStringArray(R.array.ulsan);
break;
case 7:
locationDetailStr = getResources().getStringArray(R.array.gwangju);
break;
case 8:
locationDetailStr = getResources().getStringArray(R.array.gangwon);
break;
case 9:
locationDetailStr = getResources().getStringArray(R.array.chungnam);
break;
case 10:
locationDetailStr = getResources().getStringArray(R.array.chungbuk);
break;
case 11:
locationDetailStr = getResources().getStringArray(R.array.jeonnam);
break;
case 12:
locationDetailStr = getResources().getStringArray(R.array.jeonbuk);
break;
case 13:
locationDetailStr = getResources().getStringArray(R.array.kyungnam);
break;
case 14:
locationDetailStr = getResources().getStringArray(R.array.kyungbuk);
break;
case 15:
locationDetailStr = getResources().getStringArray(R.array.jeju);
break;
}
try {
guList.clear();
guList.addAll(Arrays.asList(locationDetailStr));
} catch (Exception e) {
Log.w("null pointer exception", String.valueOf(locationDetailStr == null));
}

if (guList.size() == 0){
guList.add(0, "시를 선택해주세요");
}
guList.add("구");
setSpinner(binding.spinnerGu, guList, SPINNER_TYPE_GU);
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
}

private void getInputData(){
new Thread(() -> {
payment = Integer.parseInt(binding.etPayment.getText().toString());
startDate = binding.tvStartDate.getText().toString();
endDate = binding.tvEndDate.getText().toString();
binding.radioGroupCategory.setOnCheckedChangeListener((radioGroup, id) -> {

});
}).start();
}

class sendFilterDataThread extends Thread{
public void run(){
sendData();
}
void sendData(){
Singleton.retrofit.filterList(1,payment, category, address1, address2, startDate, endDate)
.enqueue(new Callback<ArrayList<ItemDataModel>>() {
@Override
public void onResponse(Call<ArrayList<ItemDataModel>> call, Response<ArrayList<ItemDataModel>> response) {

}

@Override
public void onFailure(Call<ArrayList<ItemDataModel>> call, Throwable t) {

}
});
}

return binding.getRoot();
}
}

36 changes: 14 additions & 22 deletions app/src/main/java/org/yapp/covey/fragment/HomeFragment.java
Original file line number Diff line number Diff line change
@@ -32,6 +32,7 @@

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Objects;

import retrofit2.Call;
import retrofit2.Callback;
@@ -46,7 +47,7 @@ public class HomeFragment extends Fragment implements View.OnClickListener{
private AdapterMoneyList adapterMoneyList = new AdapterMoneyList();
private ArrayList<String> mArrayData = new ArrayList<>();

Intent intentItemDetail;
private Intent intentItemDetail;

private static final String TAG = "HOME";

@@ -77,22 +78,16 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
recyclerViewLocation.setLayoutManager(new LinearLayoutManager(getContext(),LinearLayoutManager.HORIZONTAL,false));
recyclerViewLocation.addItemDecoration(new ItemDecorationLinear(getContext(),rootView.getWidth()*0.044f, 8));

adapterLocationPost.setOnItemClickListener(new AdapterLocationList.OnItemClickListener() {
@Override
public void onItemClick(View v, int position) {
intentItemDetail.putExtra("postId",adapterLocationPost.mDataList.get(position).getId());
startActivity(intentItemDetail);
}
adapterLocationPost.setOnItemClickListener((v, position) -> {
intentItemDetail.putExtra("postId",adapterLocationPost.mDataList.get(position).getId());
startActivity(intentItemDetail);
});
recyclerViewLocation.setAdapter(adapterLocationPost);

recyclerViewPay.setLayoutManager(new LinearLayoutManager(getContext(),LinearLayoutManager.VERTICAL,false));
adapterMoneyList.setOnItemClickListener(new AdapterMoneyList.OnItemClickListener() {
@Override
public void onItemClick(View v, int position) {
intentItemDetail.putExtra("postId",adapterLocationPost.mDataList.get(position).getId());
startActivity(intentItemDetail);
}
adapterMoneyList.setOnItemClickListener((v, position) -> {
intentItemDetail.putExtra("postId",adapterMoneyList.mDataList.get(position).getId());
startActivity(intentItemDetail);
});
recyclerViewPay.setAdapter(adapterMoneyList);

@@ -101,14 +96,11 @@ public void onItemClick(View v, int position) {
listViewCategory.setLayoutManager(new LinearLayoutManager(getContext(),LinearLayoutManager.HORIZONTAL,false));
listViewCategory.addItemDecoration(new ItemDecorationLinear(getContext(),4f, 8));

adapterCategory.setOnItemClickListener(new AdapterCategoryList.OnItemClickListener() {
@Override
public void onItemClick(View v, int position) {
Intent intentMoreItem = new Intent(getContext(), MoreItemActivity.class);
intentMoreItem.putExtra("category",mArrayData.get(position));
intentMoreItem.putExtra("categoryNum",3);
startActivity(intentMoreItem);
}
adapterCategory.setOnItemClickListener((v, position) -> {
Intent intentMoreItem = new Intent(getContext(), MoreItemActivity.class);
intentMoreItem.putExtra("category",mArrayData.get(position));
intentMoreItem.putExtra("categoryNum",3);
startActivity(intentMoreItem);
});

listViewCategory.setAdapter(adapterCategory);
@@ -229,7 +221,7 @@ public void onClick(View view) {
case R.id.btn_filter:{
// showBottomSheetFragment(view);
FilterDialogFragment filterDialogFragment = new FilterDialogFragment();
filterDialogFragment.show(getFragmentManager(),"filter");
filterDialogFragment.show(Objects.requireNonNull(getFragmentManager()),"filter");
break;
}
case R.id.btn_upload:{
37 changes: 37 additions & 0 deletions app/src/main/java/org/yapp/covey/helper/DatePickerHelper.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package org.yapp.covey.helper;

import android.content.Context;

import com.yongbeom.aircalendar.core.AirCalendarIntent;

import java.util.ArrayList;
import java.util.Calendar;

public class DatePickerHelper {
private Context context;
private ArrayList<String> weekDay;

private AirCalendarIntent intent;

public DatePickerHelper(Context context, ArrayList<String> weekDay){
this.context = context;
this.weekDay = weekDay;
setDatePicker();
}

private void setDatePicker(){
intent = new AirCalendarIntent(context);
intent.isBooking(false);
intent.isSelect(false);
intent.isMonthLabels(false);
intent.setSelectButtonText("선택");
intent.setResetBtnText("리셋");
intent.setWeekStart(Calendar.MONDAY);
intent.setWeekDaysLanguage(AirCalendarIntent.Language.EN);
intent.setCustomWeekDays(weekDay);
}

public AirCalendarIntent getCalendarIntent (){
return intent;
}
}
10 changes: 10 additions & 0 deletions app/src/main/java/org/yapp/covey/util/CoveyApiService.java
Original file line number Diff line number Diff line change
@@ -50,6 +50,16 @@ public interface CoveyApiService {
Call<ArrayList<ItemDataModel>>
registerList();

@GET("api/post/list/{page}")
Call<ArrayList<ItemDataModel>>
filterList(@Path("page") Integer page
, @Query("pay") Integer pay
,@Query("category") String category
,@Query("address1") String address1
,@Query("address2") String address2
,@Query("startDate") String startDate
,@Query("endDate") String endDate);

@GET("api/auth/kakao")
Call<Void>
kakaoLogin();
25 changes: 25 additions & 0 deletions app/src/main/res/drawable/rectangle_outline.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_checked="false"
android:bottom="0dp"
android:left="-2dp"
android:right="0dp"
android:top="0dp">
<shape android:shape="rectangle" >
<stroke
android:color="@color/warm_grey"
android:width="1dp" />
</shape>
</item>

<item android:state_checked="true"
android:bottom="0dp"
android:left="-2dp"
android:right="0dp"
android:top="0dp">
<shape android:shape="rectangle" >
<solid
android:color="@color/tomato"/>
</shape>
</item>
</selector>
36 changes: 36 additions & 0 deletions app/src/main/res/drawable/rounded_rectangle_left.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_checked="false"
android:bottom="0dp"
android:left="0dp"
android:right="0dp"
android:top="0dp">
<shape android:shape="rectangle" >
<stroke
android:color="@color/warm_grey"
android:width="1dp" />
<corners
android:radius="8dp"
android:bottomRightRadius="0dp"
android:topRightRadius="0dp"/>
</shape>
</item>

<item android:state_checked="true"
android:bottom="0dp"
android:left="0dp"
android:right="0dp"
android:top="0dp">
<shape android:shape="rectangle" >
<solid
android:color="@color/tomato"/>
<stroke
android:color="@color/tomato"
android:width="1dp" />
<corners
android:radius="8dp"
android:bottomRightRadius="0dp"
android:topRightRadius="0dp"/>
</shape>
</item>
</selector>
35 changes: 35 additions & 0 deletions app/src/main/res/drawable/rounded_rectangle_right.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_checked="false"
android:bottom="0dp"
android:left="-2dp"
android:right="0dp"
android:top="0dp">
<shape android:shape="rectangle" >
<stroke
android:color="@color/warm_grey"
android:width="1dp" />
<corners
android:radius="8dp"
android:bottomLeftRadius="0dp"
android:topLeftRadius="0dp"/>
</shape>
</item>

<item android:state_checked="true"
android:bottom="0dp"
android:left="-2dp"
android:right="0dp"
android:top="0dp">
<shape android:shape="rectangle" >
<stroke
android:color="@color/tomato"
android:width="1dp" />
<solid android:color="@color/tomato"/>
<corners
android:radius="8dp"
android:bottomLeftRadius="0dp"
android:topLeftRadius="0dp"/>
</shape>
</item>
</selector>
4 changes: 2 additions & 2 deletions app/src/main/res/layout/activity_upload.xml
Original file line number Diff line number Diff line change
@@ -103,7 +103,7 @@
android:layout_marginTop="8dp"
android:layout_marginEnd="4dp"
android:background="@drawable/rounded_rectangle_outline_8dp"
android:hint="시작 날짜"
android:hint="@string/start_date"
android:drawableEnd="@drawable/calendar_ic"
style="@style/TextThemeRound"
android:onClick="dateSelect"
@@ -118,7 +118,7 @@
android:layout_height="44dp"
android:layout_marginTop="8dp"
android:background="@drawable/rounded_rectangle_outline_8dp"
android:hint="종료 날짜"
android:hint="@string/end_date"
android:drawableEnd="@drawable/calendar_ic"
style="@style/TextThemeRound"
android:onClick="dateSelect"
70 changes: 53 additions & 17 deletions app/src/main/res/layout/layout_dialog_filter.xml
Original file line number Diff line number Diff line change
@@ -2,14 +2,14 @@
<layout
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:maxHeight="470dp">
<data>
<variable
name="bottomSheetFilter"
type="org.yapp.covey.fragment.FilterDialogFragment" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/rounded_top_rectangle_15dp"
@@ -20,7 +20,7 @@
<TextView
android:id="@+id/tv_cancel"
style="@style/TextTheme14sp"
android:text="취소"
android:text="@string/cancel"
android:textColor="@color/warm_grey_three"
app:layout_constraintStart_toStartOf="@+id/guideline_left"
app:layout_constraintTop_toTopOf="@+id/guideline_top" />
@@ -39,7 +39,7 @@
<TextView
android:id="@+id/tv_setting"
style="@style/TextTheme14sp"
android:text="설정"
android:text="@string/set"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/tv_filter_title"
app:layout_constraintEnd_toEndOf="@id/guideline_right"
@@ -56,7 +56,7 @@
<TextView
android:id="@+id/tv_start_date"
style="@style/TextThemeRound"
android:hint="시작 날짜"
android:hint="@string/start_date"
android:layout_marginTop="8dp"
app:layout_constraintHeight_percent="0.085"
android:drawableEnd="@drawable/calendar_ic"
@@ -67,7 +67,7 @@
<TextView
android:id="@+id/tv_end_date"
style="@style/TextThemeRound"
android:hint="종료 날짜"
android:hint="@string/end_date"
android:drawableEnd="@drawable/calendar_ic"
app:layout_constraintBottom_toBottomOf="@+id/tv_start_date"
app:layout_constraintEnd_toEndOf="@id/guideline_right"
@@ -111,22 +111,25 @@
app:layout_constraintTop_toBottomOf="@id/et_payment" />

<androidx.appcompat.widget.AppCompatSpinner
style="@style/TextThemeRound"
android:id="@+id/spinner_city"
android:layout_marginTop="8dp"
style="@style/SpinnerCustom"
android:layout_height="0dp"
android:layout_marginTop="12dp"
android:dropDownSelector="#f2f2f4"
app:layout_constraintHeight_percent="0.085"
app:layout_constraintStart_toStartOf="@+id/guideline_left"
app:layout_constraintTop_toBottomOf="@+id/tv_location"
app:layout_constraintWidth_percent="0.444" />

<androidx.appcompat.widget.AppCompatSpinner
android:id="@+id/spinner_"
android:layout_width="0dp"
android:id="@+id/spinner_gu"
style="@style/SpinnerCustom"
android:layout_height="0dp"
android:background="@drawable/rounded_rectangle_outline_8dp"
app:layout_constraintHeight_percent="0.085"
app:layout_constraintTop_toTopOf="@id/spinner_city"
android:dropDownSelector="#f2f2f4"
android:layout_marginTop="12dp"
app:layout_constraintEnd_toEndOf="@id/guideline_right"
app:layout_constraintHeight_percent="0.085"
app:layout_constraintTop_toBottomOf="@+id/tv_location"
app:layout_constraintWidth_percent="0.444" />

<TextView
@@ -138,16 +141,49 @@
app:layout_constraintStart_toStartOf="@+id/guideline_left"
/>

<androidx.appcompat.widget.AppCompatCheckBox
<RadioGroup
android:id="@+id/radioGroup_category"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/rounded_rectangle_outline_8dp"
android:layout_marginTop="8dp"
app:layout_constraintHeight_percent="0.085"
android:layout_marginTop="8dp"
android:orientation="horizontal"
app:layout_constraintTop_toBottomOf="@id/tv_category"
app:layout_constraintStart_toStartOf="@id/guideline_left"
app:layout_constraintEnd_toEndOf="@id/guideline_right"
/>
app:layout_constraintEnd_toEndOf="@id/guideline_right">

<RadioButton
android:id="@+id/radio_cafe"
style="@style/RadioButtonCustom"
android:text="@string/category_cafe"
android:button="@null"
android:background="@drawable/rounded_rectangle_left"
/>

<RadioButton
android:id="@+id/radio_25"
style="@style/RadioButtonCustom"
android:button="@null"
android:text="@string/category_25"
android:background="@drawable/rectangle_outline"
/>

<RadioButton
android:id="@+id/radio_rest"
style="@style/RadioButtonCustom"
android:button="@null"
android:text="@string/category_restaurant"
android:background="@drawable/rectangle_outline"
/>

<RadioButton
android:id="@+id/radio_etc"
style="@style/RadioButtonCustom"
android:button="@null"
android:text="@string/category_etc"
android:background="@drawable/rounded_rectangle_right"
/>
</RadioGroup>

<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline_right"
7 changes: 3 additions & 4 deletions app/src/main/res/layout/layout_post_detail.xml
Original file line number Diff line number Diff line change
@@ -139,7 +139,7 @@
app:layout_constraintTop_toBottomOf="@+id/divider4" />

<TextView
android:id="@+id/tv_content"
android:id="@+id/tv_discription"
style="@style/TextTheme15sp"
android:layout_width="0dp"
android:layout_height="wrap_content"
@@ -157,11 +157,10 @@
android:background="@drawable/rounded_rectangle_8dp"
android:backgroundTint="@color/tomato"
android:textSize="17sp"
android:text=""
android:textColor="#fff"
android:layout_marginTop="8dp"
android:layout_marginBottom="37dp"
app:layout_constraintTop_toBottomOf="@id/tv_content"
app:layout_constraintTop_toBottomOf="@id/tv_discription"
app:layout_constraintStart_toStartOf="@id/guideline_left"
app:layout_constraintEnd_toEndOf="@id/guideline_right"/>

@@ -176,7 +175,7 @@
android:visibility="invisible"
android:layout_marginTop="8dp"
android:layout_marginBottom="37dp"
app:layout_constraintTop_toBottomOf="@id/tv_content"
app:layout_constraintTop_toBottomOf="@id/tv_discription"
app:layout_constraintStart_toStartOf="@id/guideline_left"
app:layout_constraintEnd_toEndOf="@id/guideline_right"/>

10 changes: 10 additions & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
@@ -3,5 +3,15 @@

<!-- TODO: Remove or change this placeholder text -->
<string name="hello_blank_fragment">Hello blank fragment</string>
<string name="start_date">시작 날짜</string>
<string name="end_date">종료 날짜</string>

<string name="category_cafe">카페</string>
<string name="category_restaurant">식당</string>
<string name="category_25">편의점</string>
<string name="category_etc">기타</string>

<string name="cancel">취소</string>
<string name="set">설정</string>
</resources>

9 changes: 9 additions & 0 deletions app/src/main/res/values/styles.xml
Original file line number Diff line number Diff line change
@@ -74,6 +74,15 @@
<item name="android:textSize">15sp</item>
</style>

<style name="RadioButtonCustom" parent = "Widget.AppCompat.CompoundButton.RadioButton">
<item name="android:layout_height">match_parent</item>
<item name="android:layout_width">0dp</item>
<item name="android:textSize">14sp</item>
<item name="android:textColor">@color/cool_grey</item>
<item name="android:gravity">center</item>
<item name="android:layout_weight">1</item>
</style>

<style name="TextThemeRound" parent="TextTheme14sp">
<item name="android:layout_width">0dp</item>
<item name="android:layout_height">0dp</item>