Skip to content

Commit 84ff71f

Browse files
committed
Fixed issues with various UI elements
Signed-off-by: AR-Calder <[email protected]>
1 parent 5b12fde commit 84ff71f

File tree

101 files changed

+2671
-80
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+2671
-80
lines changed

.gitignore

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
*.iml
2+
.gradle
3+
/local.properties
4+
/.idea/workspace.xml
5+
/.idea/libraries
6+
.DS_Store
7+
/build
8+
/captures
9+
.externalNativeBuild

.idea/dictionaries/Zynch.xml

+7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/gradle.xml

+18
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

+33
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/modules.xml

+9
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/runConfigurations.xml

+12
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/vcs.xml

+6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/build

app/build.gradle

+4-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ android {
44
compileSdkVersion 26
55
defaultConfig {
66
applicationId "uk.arcalder.Kanta"
7-
minSdkVersion 24
7+
minSdkVersion 26
88
targetSdkVersion 26
99
versionCode 1
1010
versionName "1.0"
@@ -16,10 +16,12 @@ android {
1616
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
1717
}
1818
}
19+
productFlavors {
20+
}
1921
}
2022

2123
dependencies {
22-
implementation fileTree(dir: 'libs', include: ['*.jar'])
24+
implementation fileTree(include: ['*.jar'], dir: 'libs')
2325
implementation 'com.android.support:appcompat-v7:26.1.0'
2426
implementation 'com.android.support:design:26.1.0'
2527
implementation 'com.android.support.constraint:constraint-layout:1.0.2'

app/src/main/java/uk/arcalder/Kanta/AlbumListFragment.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa
2424
@Override
2525
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
2626
super.onActivityCreated(savedInstanceState);
27-
ArrayAdapter adapter = ArrayAdapter.createFromResource(getActivity(), R.array.albums, android.R.layout.simple_list_item_1);
27+
//ArrayAdapter adapter = ArrayAdapter.createFromResource(getActivity(), R.array.albums, android.R.layout.simple_list_item_1);
28+
ArrayAdapter adapter = ArrayAdapter.createFromResource(getActivity(), R.array.albums, R.layout.song_list_item);
2829
setListAdapter(adapter);
2930
}
3031
}

app/src/main/java/uk/arcalder/Kanta/MainActivity.java

+59-25
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,31 @@
88
import android.support.v7.app.AppCompatActivity;
99
import android.view.MenuItem;
1010
import android.view.View;
11+
import android.widget.TextView;
12+
import android.widget.Toast;
1113

1214

1315
public class MainActivity extends AppCompatActivity implements BottomNavigationView.OnNavigationItemSelectedListener, View.OnClickListener {
1416

17+
// Toolbar title
18+
TextView titleText;
19+
private String titleOrSearch = "TITLE";
20+
1521
@Override
1622
protected void onCreate(Bundle savedInstanceState) {
1723
super.onCreate(savedInstanceState);
1824
setContentView(R.layout.activity_main);
1925

20-
// Load fragment/s for Home(MainActivity) view
21-
//loadListFragment(new SongListFragment());
2226

2327
// Setup bottom navigation view, disable shift mode (which looks crap) and add listener
2428
BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigationBarBottom);
2529
BottomNavigationViewHelper.disableShiftMode(navigation);
2630
navigation.setOnNavigationItemSelectedListener(this);
2731

28-
loadToolbarFragment(new TitlebarFragment());
29-
loadListFragment(new AlbumListFragment());
32+
// Load default fragments
33+
loadToolbarFragment(new TitlebarFragment(), "HOME");
34+
loadListFragment(new AlbumListFragment(), "ALBUM");
3035
loadMiniPlayerFragment(new MiniPlayerFragment());
31-
3236
}
3337

3438
// Mini Player Fragments
@@ -43,66 +47,96 @@ private void loadMiniPlayerFragment(Fragment mp_frag) {
4347
}
4448

4549
// List fragments
46-
private boolean loadListFragment(ListFragment list_frag) {
47-
if (list_frag != null) {
50+
private boolean loadListFragment(ListFragment list_frag, String TAG) {
51+
// If Fragment doesn't exist
52+
if (list_frag != null && null == getSupportFragmentManager().findFragmentByTag(TAG)) {
4853

4954
getSupportFragmentManager()
5055
.beginTransaction()
51-
.replace(R.id.fragment_container_main, list_frag)
56+
.replace(R.id.fragment_container_main, list_frag, TAG)
5257
.commit();
5358
return true;
59+
} else {
60+
// Fragment exists
61+
//Toast.makeText(getApplicationContext(), TAG, Toast.LENGTH_SHORT).show();
5462
}
5563
return false;
5664

5765
}
5866

5967
// Toolbar / search bar fragments
60-
private boolean loadToolbarFragment(Fragment toolbar_frag) {
61-
if (toolbar_frag != null) {
68+
private boolean loadToolbarFragment(Fragment toolbar_frag, String TAG) {
69+
Bundle bundle = new Bundle();
70+
bundle.putString("TITLE", TAG);
71+
toolbar_frag.setArguments(bundle);
72+
// IF Fragment already exists
73+
if (toolbar_frag != null && null == getSupportFragmentManager().findFragmentByTag(TAG)) {
6274
getSupportFragmentManager()
6375
.beginTransaction()
64-
.replace(R.id.fragment_container_toolbar, toolbar_frag)
76+
.replace(R.id.fragment_container_toolbar, toolbar_frag, TAG)
6577
.commit();
6678
return true;
79+
} else if (TAG.equals("SEARCH")) {
80+
// Fragment exists
81+
//TODO load searchEditText fragment, Set focus to search editText, open keyboard (and do the same onClick of same item)
82+
Toast.makeText(getApplicationContext(), "load searchEditText fragment, Set focus to search editText, open keyboard", Toast.LENGTH_SHORT).show();
6783
}
6884
return false;
6985
}
7086

7187
@Override
7288
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
7389

74-
ListFragment fragment = null;
90+
Fragment title_fragment = null;
91+
ListFragment list_fragment = null;
92+
93+
String TITLE_TAG = null;
94+
String LIST_TAG = null;
95+
96+
boolean RESULT = false;
97+
7598
// TODO replace with actual functionality
7699
// TODO come up with better way to switch toolbar type
77100
switch (item.getItemId()) {
78101
case R.id.navigation_home:
79102
// Home
80-
fragment = new SongListFragment();
81-
loadToolbarFragment(new TitlebarFragment());
103+
TITLE_TAG = "HOME";
104+
list_fragment = new SongListFragment();
105+
title_fragment = new TitlebarFragment();
82106
break;
83107
case R.id.navigation_dashboard:
84108
// Browse
85-
fragment = new AlbumListFragment();
86-
loadToolbarFragment(new TitlebarFragment());
109+
TITLE_TAG = "BROWSE";
110+
list_fragment = new AlbumListFragment();
111+
title_fragment = new TitlebarFragment();
87112
break;
88113
case R.id.navigation_search:
89114
// Search
90-
fragment = new SongListFragment();
91-
loadToolbarFragment(new SearchFragment());
115+
TITLE_TAG = "SEARCH";
116+
list_fragment = new SongListFragment();
117+
title_fragment = new SearchFragment();
92118
break;
93119
case R.id.navigation_notifications:
94-
// Library
95-
fragment = new AlbumListFragment();
96-
loadToolbarFragment(new TitlebarFragment());
120+
// QUEUE
121+
TITLE_TAG = "QUEUE";
122+
list_fragment = new AlbumListFragment();
123+
title_fragment = new TitlebarFragment();
97124
break;
98125
case R.id.navigation_library:
99-
// Settings
100-
fragment = new SongListFragment();
101-
loadToolbarFragment(new TitlebarFragment());
126+
// LIBRARY
127+
TITLE_TAG = "LIBRARY";
128+
list_fragment = new AlbumListFragment();
129+
title_fragment = new TitlebarFragment();
102130
break;
103131
}
132+
if (null != title_fragment) {
133+
RESULT = loadToolbarFragment(title_fragment, TITLE_TAG);
134+
}
135+
if (null != list_fragment) {
136+
RESULT = loadListFragment(list_fragment, "ALBUM");
137+
}
104138

105-
return loadListFragment(fragment);
139+
return RESULT;
106140
}
107141

108142
@Override

app/src/main/java/uk/arcalder/Kanta/TitlebarFragment.java

+9
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import android.view.View;
99
import android.view.ViewGroup;
1010
import android.widget.ImageButton;
11+
import android.widget.TextView;
1112

1213

1314
/**
@@ -23,6 +24,14 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa
2324
view = inflater.inflate(R.layout.fragment_titlebar, null);
2425
ImageButton settingsButton = (ImageButton) view.findViewById(R.id.btn_settings);
2526
settingsButton.setOnClickListener(this);
27+
28+
String title_string = getArguments().getString("TITLE");
29+
if (title_string == null) {
30+
title_string = "HOME";
31+
}
32+
33+
TextView title_tv = view.findViewById(R.id.toolbar_title);
34+
title_tv.setText(title_string);
2635
return view;
2736
}
2837

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
2+
package="uk.arcalder.kanta">
3+
4+
<application
5+
android:allowBackup="true"
6+
android:icon="@mipmap/ic_launcher"
7+
android:label="@string/app_name"
8+
android:roundIcon="@mipmap/ic_launcher_round"
9+
android:supportsRtl="true"
10+
android:theme="@style/AppTheme" />
11+
</manifest>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
xmlns:aapt="http://schemas.android.com/aapt"
3+
android:width="108dp"
4+
android:height="108dp"
5+
android:viewportHeight="108"
6+
android:viewportWidth="108">
7+
<path
8+
android:fillType="evenOdd"
9+
android:pathData="M32,64C32,64 38.39,52.99 44.13,50.95C51.37,48.37 70.14,49.57 70.14,49.57L108.26,87.69L108,109.01L75.97,107.97L32,64Z"
10+
android:strokeColor="#00000000"
11+
android:strokeWidth="1">
12+
<aapt:attr name="android:fillColor">
13+
<gradient
14+
android:endX="78.5885"
15+
android:endY="90.9159"
16+
android:startX="48.7653"
17+
android:startY="61.0927"
18+
android:type="linear">
19+
<item
20+
android:color="#44000000"
21+
android:offset="0.0" />
22+
<item
23+
android:color="#00000000"
24+
android:offset="1.0" />
25+
</gradient>
26+
</aapt:attr>
27+
</path>
28+
<path
29+
android:fillColor="#FFFFFF"
30+
android:fillType="nonZero"
31+
android:pathData="M66.94,46.02L66.94,46.02C72.44,50.07 76,56.61 76,64L32,64C32,56.61 35.56,50.11 40.98,46.06L36.18,41.19C35.45,40.45 35.45,39.3 36.18,38.56C36.91,37.81 38.05,37.81 38.78,38.56L44.25,44.05C47.18,42.57 50.48,41.71 54,41.71C57.48,41.71 60.78,42.57 63.68,44.05L69.11,38.56C69.84,37.81 70.98,37.81 71.71,38.56C72.44,39.3 72.44,40.45 71.71,41.19L66.94,46.02ZM62.94,56.92C64.08,56.92 65,56.01 65,54.88C65,53.76 64.08,52.85 62.94,52.85C61.8,52.85 60.88,53.76 60.88,54.88C60.88,56.01 61.8,56.92 62.94,56.92ZM45.06,56.92C46.2,56.92 47.13,56.01 47.13,54.88C47.13,53.76 46.2,52.85 45.06,52.85C43.92,52.85 43,53.76 43,54.88C43,56.01 43.92,56.92 45.06,56.92Z"
32+
android:strokeColor="#00000000"
33+
android:strokeWidth="1" />
34+
</vector>

0 commit comments

Comments
 (0)