diff --git a/app/src/main/java/com/example/funnysounds/action/IOListener.java b/app/src/main/java/com/example/funnysounds/action/IOListener.java new file mode 100644 index 0000000..7d49515 --- /dev/null +++ b/app/src/main/java/com/example/funnysounds/action/IOListener.java @@ -0,0 +1,7 @@ +package com.example.funnysounds.action; + +import com.example.funnysounds.data.MyData; + +public interface IOListener { + public void onRunIOAction( ); +} diff --git a/app/src/main/java/com/example/funnysounds/activity/MainActivity.java b/app/src/main/java/com/example/funnysounds/activity/MainActivity.java index b48954f..18eada4 100644 --- a/app/src/main/java/com/example/funnysounds/activity/MainActivity.java +++ b/app/src/main/java/com/example/funnysounds/activity/MainActivity.java @@ -91,7 +91,9 @@ public class MainActivity extends AppCompatActivity { @Override public void onTabSelected(TabLayout.Tab tab) { setTabSelected(tab, true); - vb.viewPager.setCurrentItem(tab.getPosition()); + int position = tab.getPosition(); + vb.viewPager.setCurrentItem(position); + updateTitle(position); } @@ -127,8 +129,9 @@ public class MainActivity extends AppCompatActivity { @Override public void onPageSelected(int position) { super.onPageSelected(position); + updateTitle(position); TabLayout.Tab tabAt = vb.tabLayout.getTabAt(position); - if(tabAt!= null){ + if (tabAt != null) { tabAt.select(); } } @@ -136,6 +139,14 @@ public class MainActivity extends AppCompatActivity { } + private void updateTitle(int position) { + if (position == 1) { + vb.textviewSounds.setText(getString(R.string.favorites)); + }else { + vb.textviewSounds.setText(getString(R.string.app_name)); + } + } + private String getAppVersions() { String appversions = ""; try { diff --git a/app/src/main/java/com/example/funnysounds/fragement/LoveFragment.java b/app/src/main/java/com/example/funnysounds/fragement/LoveFragment.java index fc13c4b..3c973aa 100644 --- a/app/src/main/java/com/example/funnysounds/fragement/LoveFragment.java +++ b/app/src/main/java/com/example/funnysounds/fragement/LoveFragment.java @@ -39,7 +39,7 @@ public class LoveFragment extends Fragment { @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - vb = FragmentLoveBinding.inflate(inflater,container,false); + vb = FragmentLoveBinding.inflate(inflater, container, false); return vb.getRoot(); } @@ -50,6 +50,7 @@ public class LoveFragment extends Fragment { init(); } + private void init() { MySpace mySpace = new MySpace(20, 20, 25); LinearLayoutManager layoutManager = new LinearLayoutManager(requireActivity()); @@ -61,6 +62,11 @@ public class LoveFragment extends Fragment { MyRoom.getInstance().getDataDao().queryLoveList(true).observe(requireActivity(), new Observer>() { @Override public void onChanged(List list) { + if (list.size() > 0) { + vb.tvNoFavorites.setVisibility(View.GONE); + }else { + vb.tvNoFavorites.setVisibility(View.VISIBLE); + } loveAdapter.setMyDataList(list); } }); diff --git a/app/src/main/java/com/example/funnysounds/fragement/RecordFragment.java b/app/src/main/java/com/example/funnysounds/fragement/RecordFragment.java new file mode 100644 index 0000000..a44a7ed --- /dev/null +++ b/app/src/main/java/com/example/funnysounds/fragement/RecordFragment.java @@ -0,0 +1,69 @@ +package com.example.funnysounds.fragement; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; +import androidx.lifecycle.Observer; +import androidx.lifecycle.ViewModelProvider; +import androidx.recyclerview.widget.LinearLayoutManager; + +import com.example.funnysounds.data.MyData; +import com.example.funnysounds.databinding.FragmentLoveBinding; +import com.example.funnysounds.databinding.FragmentRecordBinding; +import com.example.funnysounds.resolve.MySpace; +import com.example.funnysounds.room.MyRoom; +import com.example.funnysounds.soundsadapter.LoveAdapter; + +import java.util.List; + +public class RecordFragment extends Fragment { + + private RankViewModel mViewModel; + private FragmentRecordBinding vb; + + public static RecordFragment newInstance() { + return new RecordFragment(); + } + + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, + @Nullable Bundle savedInstanceState) { + vb = FragmentRecordBinding.inflate(inflater, container, false); + return vb.getRoot(); + } + + @Override + public void onActivityCreated(@Nullable Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + mViewModel = new ViewModelProvider(this).get(RankViewModel.class); + + init(); + } + + private void init() { + MySpace mySpace = new MySpace(20, 20, 25); + LinearLayoutManager layoutManager = new LinearLayoutManager(requireActivity()); + vb.loveRecycler.setLayoutManager(layoutManager); + vb.loveRecycler.addItemDecoration(mySpace); + LoveAdapter loveAdapter = new LoveAdapter(requireActivity()); + + vb.loveRecycler.setAdapter(loveAdapter); + MyRoom.getInstance().getDataDao().queryLoveList(true).observe(requireActivity(), new Observer>() { + @Override + public void onChanged(List list) { + if (list.size() > 0) { + vb.tvNoFavorites.setVisibility(View.GONE); + }else { + vb.tvNoFavorites.setVisibility(View.VISIBLE); + } + loveAdapter.setMyDataList(list); + } + }); + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/funnysounds/resolve/Readfile.java b/app/src/main/java/com/example/funnysounds/resolve/Readfile.java index 2ad1aae..6ff8920 100644 --- a/app/src/main/java/com/example/funnysounds/resolve/Readfile.java +++ b/app/src/main/java/com/example/funnysounds/resolve/Readfile.java @@ -3,6 +3,7 @@ package com.example.funnysounds.resolve; import android.util.DisplayMetrics; import android.util.Log; +import com.example.funnysounds.action.IOListener; import com.example.funnysounds.data.CategoryList; import com.example.funnysounds.data.MyData; import com.example.funnysounds.room.MyRoom; @@ -88,4 +89,15 @@ public class Readfile { } } + + public static Thread onSwitchIO(IOListener ioListener){ + Thread thread = new Thread(new Runnable() { + @Override + public void run() { + ioListener.onRunIOAction(); + } + }); + thread.start(); + return thread; + } } diff --git a/app/src/main/java/com/example/funnysounds/soundsadapter/LoveAdapter.java b/app/src/main/java/com/example/funnysounds/soundsadapter/LoveAdapter.java index 4c11e53..a4830be 100644 --- a/app/src/main/java/com/example/funnysounds/soundsadapter/LoveAdapter.java +++ b/app/src/main/java/com/example/funnysounds/soundsadapter/LoveAdapter.java @@ -6,16 +6,21 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; +import android.widget.Toast; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import com.bumptech.glide.Glide; import com.example.funnysounds.R; +import com.example.funnysounds.action.IOListener; import com.example.funnysounds.action.MyDataSounderListener; import com.example.funnysounds.activity.DetailActivity; import com.example.funnysounds.data.MyData; import com.example.funnysounds.databinding.ItemLoveBinding; +import com.example.funnysounds.resolve.Readfile; +import com.example.funnysounds.resolve.Sounds; +import com.example.funnysounds.room.MyRoom; import com.example.funnysounds.value.StaticValue; import java.util.ArrayList; @@ -72,6 +77,15 @@ public class LoveAdapter extends RecyclerView.Adapter { holder.getVb().imLove.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + notifyItemRemoved(position); + Toast.makeText(Sounds.mAppContext,myContext.getString(R.string.remove),Toast.LENGTH_SHORT).show(); + Readfile.onSwitchIO(new IOListener() { + @Override + public void onRunIOAction() { + myData.setAddLove(false); + MyRoom.getInstance().getDataDao().updatePrank(myData); + } + }); } }); diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index c6f9d19..6cf91d1 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -6,7 +6,8 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - tools:context=".activity.MainActivity"> + tools:context=".activity.MainActivity" + tools:openDrawer="right"> - + app:cardCornerRadius="12dp"> + + + + + android:layout_marginStart="22dp" + android:layout_marginTop="27dp" + android:layout_marginEnd="22dp" + android:background="@drawable/menu_background" + android:orientation="horizontal"> - + - - - - - - - - - - - - - - - - + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_love.xml b/app/src/main/res/layout/fragment_love.xml index 5ca402d..0a1845c 100644 --- a/app/src/main/res/layout/fragment_love.xml +++ b/app/src/main/res/layout/fragment_love.xml @@ -7,8 +7,15 @@ + android:layout_height="match_parent" + android:paddingTop="20dp" /> + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_record.xml b/app/src/main/res/layout/fragment_record.xml new file mode 100644 index 0000000..0a1845c --- /dev/null +++ b/app/src/main/res/layout/fragment_record.xml @@ -0,0 +1,21 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 718e3a1..4bb6b84 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,8 +1,11 @@ Funny Sounds - Privacy + privacy https://sites.google.com/view/funnysoundsairhorn - Version + version V%s Loop + Removed from favorite + My Favorites + No favorites found \ No newline at end of file