Separate license information to its own activity
.idea/misc.xml
8 | 8 | <entry key="app/src/main/res/drawable/ic_pitch.xml" value="0.1535" /> | |
9 | 9 | <entry key="app/src/main/res/drawable/ic_rad.xml" value="0.1535" /> | |
10 | 10 | <entry key="app/src/main/res/drawable/ic_reading.xml" value="0.1535" /> | |
11 | + | <entry key="app/src/main/res/layout/activity_dictionary.xml" value="0.2078125" /> | |
12 | + | <entry key="app/src/main/res/layout/activity_license.xml" value="0.20677083333333332" /> | |
11 | 13 | <entry key="app/src/main/res/layout/activity_main.xml" value="0.2078125" /> | |
12 | 14 | <entry key="app/src/main/res/layout/content_main.xml" value="0.2078125" /> | |
13 | 15 | <entry key="app/src/main/res/layout/content_radicals.xml" value="0.1" /> | |
14 | 16 | <entry key="app/src/main/res/layout/fragment_results.xml" value="0.2078125" /> | |
15 | 17 | <entry key="app/src/main/res/layout/layout_example.xml" value="0.20677083333333332" /> | |
18 | + | <entry key="app/src/main/res/layout/layout_license.xml" value="0.20677083333333332" /> | |
19 | + | <entry key="app/src/main/res/layout/layout_license_description.xml" value="0.21927083333333333" /> | |
20 | + | <entry key="app/src/main/res/layout/layout_license_name.xml" value="0.20677083333333332" /> | |
16 | 21 | <entry key="app/src/main/res/layout/layout_result.xml" value="0.2078125" /> | |
17 | 22 | <entry key="app/src/main/res/layout/layout_sense.xml" value="0.2078125" /> | |
23 | + | <entry key="app/src/main/res/menu/menu_main.xml" value="0.2078125" /> | |
18 | 24 | <entry key="app/src/main/res/xml/preferences.xml" value="0.2078125" /> | |
19 | 25 | </map> | |
20 | 26 | </option> |
app/src/main/AndroidManifest.xml
67 | 67 | android:value=".MainActivity" /> | |
68 | 68 | </activity> | |
69 | 69 | <activity | |
70 | + | android:name=".LicenseActivity" | |
71 | + | android:label="@string/title_activity_license" | |
72 | + | android:parentActivityName=".LicenseActivity" | |
73 | + | tools:ignore="UnusedAttribute"> | |
74 | + | <meta-data | |
75 | + | android:name="android.support.PARENT_ACTIVITY" | |
76 | + | android:value=".MainActivity" /> | |
77 | + | </activity> | |
78 | + | <activity | |
70 | 79 | android:name=".HelpActivity" | |
71 | 80 | android:label="@string/title_activity_help" | |
72 | 81 | android:parentActivityName=".MainActivity" |
app/src/main/java/eu/lepiller/nani/LicenseActivity.java unknown status 1
1 | + | package eu.lepiller.nani; | |
2 | + | ||
3 | + | import android.os.Bundle; | |
4 | + | import android.widget.ExpandableListAdapter; | |
5 | + | import android.widget.ExpandableListView; | |
6 | + | import android.widget.ListView; | |
7 | + | ||
8 | + | import androidx.annotation.Nullable; | |
9 | + | import androidx.appcompat.app.AppCompatActivity; | |
10 | + | ||
11 | + | import java.util.ArrayList; | |
12 | + | import java.util.List; | |
13 | + | ||
14 | + | public class LicenseActivity extends AppCompatActivity { | |
15 | + | ExpandableListAdapter adapter; | |
16 | + | ||
17 | + | public static class License { | |
18 | + | private final String name, description, license; | |
19 | + | private final List<License> subProjects; | |
20 | + | License(String name, String description, String license, List<License> subProjects) { | |
21 | + | this.name = name; | |
22 | + | this.description = description; | |
23 | + | this.license = license; | |
24 | + | this.subProjects = subProjects; | |
25 | + | } | |
26 | + | ||
27 | + | public String getName() { | |
28 | + | return name; | |
29 | + | } | |
30 | + | ||
31 | + | public String getDescription() { | |
32 | + | return description; | |
33 | + | } | |
34 | + | ||
35 | + | public String getLicense() { | |
36 | + | return license; | |
37 | + | } | |
38 | + | ||
39 | + | @Nullable | |
40 | + | public List<License> getSubProjects() { | |
41 | + | return subProjects; | |
42 | + | } | |
43 | + | } | |
44 | + | ||
45 | + | private static final List<License> licenseInformation = new ArrayList<>(); | |
46 | + | ||
47 | + | @Override | |
48 | + | protected void onCreate(Bundle savedInstanceState) { | |
49 | + | super.onCreate(savedInstanceState); | |
50 | + | setContentView(R.layout.activity_license); | |
51 | + | ||
52 | + | licenseInformation.clear(); | |
53 | + | List<License> erdrgLicenses = new ArrayList<>(); | |
54 | + | erdrgLicenses.add(new License(getString(R.string.jmdict_title), getString(R.string.jmdict_descr), getString(R.string.jmdict_license), null)); | |
55 | + | erdrgLicenses.add(new License(getString(R.string.radk_title), getString(R.string.radk_descr), getString(R.string.radk_license), null)); | |
56 | + | erdrgLicenses.add(new License(getString(R.string.kanjidic_title), getString(R.string.kanjidic_descr), getString(R.string.kanjidic_license), null)); | |
57 | + | licenseInformation.add( | |
58 | + | new License(getString(R.string.erdrg_title), getString(R.string.erdrg_descr), "", | |
59 | + | erdrgLicenses)); | |
60 | + | ||
61 | + | licenseInformation.add( | |
62 | + | new License(getString(R.string.kanjivg_title), getString(R.string.kanjivg_descr), getString(R.string.kanjivg_license), null) | |
63 | + | ); | |
64 | + | licenseInformation.add( | |
65 | + | new License(getString(R.string.jibiki_title), getString(R.string.jibiki_descr), getString(R.string.jibiki_license), null) | |
66 | + | ); | |
67 | + | licenseInformation.add( | |
68 | + | new License(getString(R.string.wadoku_title), getString(R.string.wadoku_descr), getString(R.string.wadoku_license), null) | |
69 | + | ); | |
70 | + | licenseInformation.add( | |
71 | + | new License(getString(R.string.tatoeba_title), getString(R.string.tatoeba_descr), getString(R.string.tatoeba_license), null) | |
72 | + | ); | |
73 | + | ||
74 | + | final ExpandableListView list_view = findViewById(R.id.license_view); | |
75 | + | adapter = new LicenseAdapter(this, licenseInformation); | |
76 | + | list_view.setAdapter(adapter); | |
77 | + | } | |
78 | + | } |
app/src/main/java/eu/lepiller/nani/LicenseAdapter.java unknown status 1
1 | + | package eu.lepiller.nani; | |
2 | + | ||
3 | + | import android.content.Context; | |
4 | + | import android.view.LayoutInflater; | |
5 | + | import android.view.View; | |
6 | + | import android.view.ViewGroup; | |
7 | + | import android.widget.BaseExpandableListAdapter; | |
8 | + | import android.widget.TextView; | |
9 | + | ||
10 | + | import java.util.List; | |
11 | + | ||
12 | + | public class LicenseAdapter extends BaseExpandableListAdapter { | |
13 | + | Context context; | |
14 | + | List<LicenseActivity.License> licenses; | |
15 | + | ||
16 | + | LicenseAdapter(Context context, List<LicenseActivity.License> licenses) { | |
17 | + | this.licenses = licenses; | |
18 | + | this.context = context; | |
19 | + | } | |
20 | + | ||
21 | + | @Override | |
22 | + | public int getGroupCount() { | |
23 | + | return licenses.size(); | |
24 | + | } | |
25 | + | ||
26 | + | @Override | |
27 | + | public int getChildrenCount(int i) { | |
28 | + | List<LicenseActivity.License> projects = licenses.get(i).getSubProjects(); | |
29 | + | if(projects == null || projects.size() == 0) | |
30 | + | return 1; | |
31 | + | return projects.size() + 1; | |
32 | + | } | |
33 | + | ||
34 | + | @Override | |
35 | + | public Object getGroup(int i) { | |
36 | + | return null; | |
37 | + | } | |
38 | + | ||
39 | + | @Override | |
40 | + | public Object getChild(int i, int i1) { | |
41 | + | return null; | |
42 | + | } | |
43 | + | ||
44 | + | @Override | |
45 | + | public long getGroupId(int i) { | |
46 | + | return 0; | |
47 | + | } | |
48 | + | ||
49 | + | @Override | |
50 | + | public long getChildId(int i, int i1) { | |
51 | + | return 0; | |
52 | + | } | |
53 | + | ||
54 | + | @Override | |
55 | + | public boolean hasStableIds() { | |
56 | + | return false; | |
57 | + | } | |
58 | + | ||
59 | + | @Override | |
60 | + | public View getGroupView(int i, boolean b, View view, ViewGroup viewGroup) { | |
61 | + | if (view == null) { | |
62 | + | LayoutInflater layoutInflater = (LayoutInflater) this.context. | |
63 | + | getSystemService(Context.LAYOUT_INFLATER_SERVICE); | |
64 | + | view = layoutInflater.inflate(R.layout.layout_license_name, viewGroup, false); | |
65 | + | } | |
66 | + | String name = licenses.get(i).getName(); | |
67 | + | TextView nameView = (TextView) view.findViewById(R.id.license_name); | |
68 | + | nameView.setText(name); | |
69 | + | return view; | |
70 | + | } | |
71 | + | ||
72 | + | @Override | |
73 | + | public View getChildView(int i, int i1, boolean b, View view, ViewGroup viewGroup) { | |
74 | + | List<LicenseActivity.License> projects = licenses.get(i).getSubProjects(); | |
75 | + | if(projects != null && projects.size() > 0) | |
76 | + | i1 -= 1; | |
77 | + | if(i1 < 0) { | |
78 | + | if(view == null) { | |
79 | + | LayoutInflater layoutInflater = (LayoutInflater) this.context. | |
80 | + | getSystemService(Context.LAYOUT_INFLATER_SERVICE); | |
81 | + | view = layoutInflater.inflate(R.layout.layout_license, viewGroup, false); | |
82 | + | } | |
83 | + | ||
84 | + | TextView nameView = (TextView) view.findViewById(R.id.name); | |
85 | + | TextView descriptionView = (TextView) view.findViewById(R.id.description); | |
86 | + | TextView licenseView = (TextView) view.findViewById(R.id.license); | |
87 | + | ||
88 | + | descriptionView.setText(licenses.get(i).getDescription()); | |
89 | + | nameView.setVisibility(View.GONE); | |
90 | + | licenseView.setVisibility(View.GONE); | |
91 | + | return view; | |
92 | + | } else { | |
93 | + | boolean subproject = projects != null && projects.size() > 0; | |
94 | + | LicenseActivity.License license = subproject? projects.get(i1): licenses.get(i); | |
95 | + | ||
96 | + | if(view == null || i1 == 0) { | |
97 | + | LayoutInflater layoutInflater = (LayoutInflater) this.context. | |
98 | + | getSystemService(Context.LAYOUT_INFLATER_SERVICE); | |
99 | + | view = layoutInflater.inflate(R.layout.layout_license, viewGroup, false); | |
100 | + | } | |
101 | + | ||
102 | + | TextView nameView = (TextView) view.findViewById(R.id.name); | |
103 | + | TextView descriptionView = (TextView) view.findViewById(R.id.description); | |
104 | + | TextView licenseView = (TextView) view.findViewById(R.id.license); | |
105 | + | ||
106 | + | nameView.setVisibility(subproject? View.VISIBLE: View.GONE); | |
107 | + | licenseView.setVisibility(View.VISIBLE); | |
108 | + | ||
109 | + | nameView.setText(license.getName()); | |
110 | + | descriptionView.setText(license.getDescription()); | |
111 | + | licenseView.setText(license.getLicense()); | |
112 | + | ||
113 | + | return view; | |
114 | + | } | |
115 | + | } | |
116 | + | ||
117 | + | @Override | |
118 | + | public boolean isChildSelectable(int i, int i1) { | |
119 | + | return false; | |
120 | + | } | |
121 | + | } |
app/src/main/java/eu/lepiller/nani/MainActivity.java
432 | 432 | Intent intent = new Intent(this, AboutActivity.class); | |
433 | 433 | startActivity(intent); | |
434 | 434 | return true; | |
435 | + | } else if (id == R.id.action_licenses) { | |
436 | + | Intent intent = new Intent(this, LicenseActivity.class); | |
437 | + | startActivity(intent); | |
438 | + | return true; | |
435 | 439 | } else if (id == R.id.action_help) { | |
436 | 440 | Intent intent = new Intent(this, HelpActivity.class); | |
437 | 441 | startActivity(intent); |
app/src/main/res/layout/activity_about.xml
17 | 17 | android:layout_width="wrap_content" | |
18 | 18 | android:layout_height="wrap_content" | |
19 | 19 | android:layout_gravity="center" | |
20 | - | android:text="@string/data_licenses" | |
20 | + | android:text="@string/title_activity_about" | |
21 | 21 | android:textColor="@color/colorTitle" | |
22 | 22 | android:textSize="@dimen/title_size" /> | |
23 | 23 | ||
… | |||
105 | 105 | android:text="@string/license_text" | |
106 | 106 | app:lineHeight="22dp" /> | |
107 | 107 | ||
108 | - | <TextView | |
109 | - | android:layout_width="match_parent" | |
110 | - | android:layout_height="wrap_content" | |
111 | - | android:text="@string/data_licenses" | |
112 | - | android:layout_marginTop="16dp" | |
113 | - | android:textColor="@color/colorTitle" | |
114 | - | android:textSize="@dimen/title_size" /> | |
115 | - | ||
116 | - | <TextView | |
117 | - | android:layout_width="wrap_content" | |
118 | - | android:layout_height="wrap_content" | |
119 | - | android:text="@string/data_intro" | |
120 | - | app:lineHeight="22dp" /> | |
121 | - | ||
122 | - | <TextView | |
123 | - | android:id="@+id/textView10" | |
124 | - | android:layout_width="match_parent" | |
125 | - | android:layout_height="wrap_content" | |
126 | - | android:layout_marginTop="16dp" | |
127 | - | android:text="@string/erdrg_title" | |
128 | - | android:textColor="@color/colorSubtitle" | |
129 | - | android:textSize="@dimen/subtitle_size" /> | |
130 | - | ||
131 | - | <TextView | |
132 | - | android:layout_width="match_parent" | |
133 | - | android:layout_height="wrap_content" | |
134 | - | app:lineHeight="22dp" | |
135 | - | android:text="@string/erdrg_descr" /> | |
136 | - | ||
137 | - | <TextView | |
138 | - | android:layout_width="match_parent" | |
139 | - | android:layout_height="wrap_content" | |
140 | - | app:lineHeight="22dp" | |
141 | - | android:textSize="@dimen/subtitle_size" | |
142 | - | android:layout_marginTop="8dp" | |
143 | - | android:text="@string/jmdict_title" /> | |
144 | - | ||
145 | - | <TextView | |
146 | - | android:layout_width="match_parent" | |
147 | - | android:layout_height="wrap_content" | |
148 | - | app:lineHeight="22dp" | |
149 | - | android:text="@string/jmdict_descr" /> | |
150 | - | ||
151 | - | <TextView | |
152 | - | android:layout_width="match_parent" | |
153 | - | android:layout_height="wrap_content" | |
154 | - | app:lineHeight="22dp" | |
155 | - | android:text="@string/jmdict_license" /> | |
156 | - | ||
157 | - | <TextView | |
158 | - | android:layout_width="match_parent" | |
159 | - | android:layout_height="wrap_content" | |
160 | - | android:layout_marginTop="8dp" | |
161 | - | android:lineHeight="22dp" | |
162 | - | android:textSize="@dimen/subtitle_size" | |
163 | - | android:text="@string/radk_title" /> | |
164 | - | ||
165 | - | <TextView | |
166 | - | android:layout_width="match_parent" | |
167 | - | android:layout_height="wrap_content" | |
168 | - | app:lineHeight="22dp" | |
169 | - | android:text="@string/radk_descr" /> | |
170 | - | ||
171 | - | <TextView | |
172 | - | android:layout_width="match_parent" | |
173 | - | android:layout_height="wrap_content" | |
174 | - | app:lineHeight="22dp" | |
175 | - | android:text="@string/radk_license" /> | |
176 | - | ||
177 | - | <TextView | |
178 | - | android:layout_width="match_parent" | |
179 | - | android:layout_height="wrap_content" | |
180 | - | android:layout_marginTop="8dp" | |
181 | - | android:lineHeight="22dp" | |
182 | - | android:textSize="@dimen/subtitle_size" | |
183 | - | android:text="@string/kanjidic_title" /> | |
184 | - | ||
185 | - | <TextView | |
186 | - | android:layout_width="match_parent" | |
187 | - | android:layout_height="wrap_content" | |
188 | - | app:lineHeight="22dp" | |
189 | - | android:text="@string/kanjidic_descr" /> | |
190 | - | ||
191 | - | <TextView | |
192 | - | android:layout_width="match_parent" | |
193 | - | android:layout_height="wrap_content" | |
194 | - | app:lineHeight="22dp" | |
195 | - | android:text="@string/kanjidic_license" /> | |
196 | - | ||
197 | - | <TextView | |
198 | - | android:layout_width="match_parent" | |
199 | - | android:layout_height="wrap_content" | |
200 | - | android:layout_marginTop="8dp" | |
201 | - | android:lineHeight="22dp" | |
202 | - | android:textSize="@dimen/subtitle_size" | |
203 | - | android:text="@string/kanjivg_title" /> | |
204 | - | ||
205 | - | <TextView | |
206 | - | android:layout_width="match_parent" | |
207 | - | android:layout_height="wrap_content" | |
208 | - | app:lineHeight="22dp" | |
209 | - | android:text="@string/kanjivg_descr" /> | |
210 | - | ||
211 | - | <TextView | |
212 | - | android:layout_width="match_parent" | |
213 | - | android:layout_height="wrap_content" | |
214 | - | app:lineHeight="22dp" | |
215 | - | android:text="@string/kanjivg_license" /> | |
216 | - | ||
217 | - | ||
218 | - | <TextView | |
219 | - | android:layout_width="match_parent" | |
220 | - | android:layout_height="wrap_content" | |
221 | - | android:layout_marginTop="16dp" | |
222 | - | android:text="@string/wadoku_title" | |
223 | - | android:textColor="@color/colorSubtitle" | |
224 | - | android:textSize="@dimen/subtitle_size" /> | |
225 | - | ||
226 | - | <TextView | |
227 | - | android:layout_width="match_parent" | |
228 | - | android:layout_height="wrap_content" | |
229 | - | app:lineHeight="22dp" | |
230 | - | android:text="@string/wadoku_descr" /> | |
231 | - | ||
232 | - | <TextView | |
233 | - | android:layout_width="match_parent" | |
234 | - | android:layout_height="wrap_content" | |
235 | - | app:lineHeight="22dp" | |
236 | - | android:text="@string/wadoku_license" /> | |
237 | - | ||
238 | - | <TextView | |
239 | - | android:layout_width="match_parent" | |
240 | - | android:layout_height="wrap_content" | |
241 | - | android:layout_marginTop="16dp" | |
242 | - | android:text="@string/jibiki_title" | |
243 | - | android:textColor="@color/colorSubtitle" | |
244 | - | android:textSize="@dimen/subtitle_size" /> | |
245 | - | ||
246 | - | <TextView | |
247 | - | android:layout_width="match_parent" | |
248 | - | android:layout_height="wrap_content" | |
249 | - | app:lineHeight="22dp" | |
250 | - | android:text="@string/jibiki_descr" /> | |
251 | - | ||
252 | - | <TextView | |
253 | - | android:layout_width="match_parent" | |
254 | - | android:layout_height="wrap_content" | |
255 | - | app:lineHeight="22dp" | |
256 | - | android:text="@string/jibiki_license" /> | |
257 | - | ||
258 | - | <TextView | |
259 | - | android:layout_width="match_parent" | |
260 | - | android:layout_height="wrap_content" | |
261 | - | android:layout_marginTop="16dp" | |
262 | - | android:text="@string/tatoeba_title" | |
263 | - | android:textColor="@color/colorSubtitle" | |
264 | - | android:textSize="@dimen/subtitle_size" /> | |
265 | - | ||
266 | - | <TextView | |
267 | - | android:layout_width="match_parent" | |
268 | - | android:layout_height="wrap_content" | |
269 | - | app:lineHeight="22dp" | |
270 | - | android:text="@string/tatoeba_descr" /> | |
271 | - | ||
272 | - | <TextView | |
273 | - | android:layout_width="match_parent" | |
274 | - | android:layout_height="wrap_content" | |
275 | - | app:lineHeight="22dp" | |
276 | - | android:text="@string/tatoeba_license" /> | |
277 | - | ||
278 | 108 | </LinearLayout> | |
279 | 109 | ||
280 | 110 | </ScrollView> | |
280 | 110 | = | |
281 | 111 | = | \ No newline at end of file |
app/src/main/res/layout/activity_license.xml unknown status 1
1 | + | <?xml version="1.0" encoding="utf-8"?> | |
2 | + | <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
3 | + | xmlns:tools="http://schemas.android.com/tools" | |
4 | + | android:layout_width="match_parent" | |
5 | + | android:layout_height="match_parent" | |
6 | + | android:orientation="vertical" | |
7 | + | tools:context=".AboutActivity"> | |
8 | + | ||
9 | + | <TextView | |
10 | + | android:layout_width="wrap_content" | |
11 | + | android:layout_height="wrap_content" | |
12 | + | android:layout_gravity="center" | |
13 | + | android:text="@string/data_licenses" | |
14 | + | android:textColor="@color/colorTitle" | |
15 | + | android:textSize="@dimen/title_size" /> | |
16 | + | ||
17 | + | <ExpandableListView | |
18 | + | android:id="@+id/license_view" | |
19 | + | android:layout_width="match_parent" | |
20 | + | android:layout_height="wrap_content" | |
21 | + | android:layout_marginStart="8dp" | |
22 | + | android:layout_marginLeft="8dp" | |
23 | + | android:layout_marginTop="32dp" | |
24 | + | android:layout_marginEnd="8dp" | |
25 | + | android:layout_marginRight="8dp" | |
26 | + | android:layout_marginBottom="8dp" /> | |
27 | + | </LinearLayout> | |
27 | < | ||
0 | 28 | < | \ No newline at end of file |
app/src/main/res/layout/layout_license.xml unknown status 1
1 | + | <?xml version="1.0" encoding="utf-8"?> | |
2 | + | <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
3 | + | android:layout_width="match_parent" | |
4 | + | android:layout_height="wrap_content" | |
5 | + | xmlns:app="http://schemas.android.com/apk/res-auto" | |
6 | + | android:orientation="vertical"> | |
7 | + | ||
8 | + | <TextView | |
9 | + | android:id="@+id/name" | |
10 | + | android:layout_width="match_parent" | |
11 | + | android:layout_height="wrap_content" | |
12 | + | android:layout_marginTop="16dp" | |
13 | + | android:textColor="@color/colorAccent" | |
14 | + | android:textSize="@dimen/subtitle_size" | |
15 | + | app:lineHeight="22dp" /> | |
16 | + | <TextView | |
17 | + | android:id="@+id/description" | |
18 | + | android:layout_width="match_parent" | |
19 | + | android:layout_height="wrap_content" | |
20 | + | android:layout_marginTop="16dp" | |
21 | + | app:lineHeight="22dp" /> | |
22 | + | <TextView | |
23 | + | android:id="@+id/license" | |
24 | + | android:layout_width="match_parent" | |
25 | + | android:layout_height="wrap_content" | |
26 | + | android:layout_marginTop="16dp" | |
27 | + | app:lineHeight="22dp" /> | |
28 | + | </LinearLayout> | |
28 | < | ||
0 | 29 | < | \ No newline at end of file |
app/src/main/res/layout/layout_license_name.xml unknown status 1
1 | + | <?xml version="1.0" encoding="utf-8"?> | |
2 | + | <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
3 | + | android:layout_width="match_parent" | |
4 | + | android:layout_height="match_parent" | |
5 | + | android:orientation="vertical"> | |
6 | + | <TextView | |
7 | + | android:id="@+id/license_name" | |
8 | + | android:layout_width="match_parent" | |
9 | + | android:layout_height="wrap_content" | |
10 | + | android:layout_marginTop="16dp" | |
11 | + | android:textColor="@color/colorSubtitle" | |
12 | + | android:textSize="@dimen/title_size"/> | |
13 | + | </LinearLayout> | |
13 | < | ||
0 | 14 | < | \ No newline at end of file |
app/src/main/res/menu/menu_main.xml
21 | 21 | <item | |
22 | 22 | android:id="@+id/action_about" | |
23 | 23 | android:title="@string/action_about" /> | |
24 | + | <item | |
25 | + | android:id="@+id/action_licenses" | |
26 | + | android:title="@string/action_licenses" /> | |
24 | 27 | </menu> |
app/src/main/res/values-night/colors.xml
3 | 3 | <color name="colorPrimary">#008577</color> | |
4 | 4 | <color name="colorPrimaryDark">#00574B</color> | |
5 | 5 | <color name="colorTitle">#00dac3</color> | |
6 | - | <color name="colorSubtitle">#5474dd</color> | |
6 | + | <color name="colorSubtitle">#6484ed</color> | |
7 | 7 | <color name="colorAccent">#F83B80</color> | |
8 | 8 | <color name="colorWhite">#000000</color> | |
9 | 9 | <color name="colorGrey">#111111</color> |
app/src/main/res/values/strings.xml
5 | 5 | <string name="action_dictionaries">Manage Dictionaries</string> | |
6 | 6 | <string name="action_help">Help</string> | |
7 | 7 | <string name="action_about">About</string> | |
8 | + | <string name="action_licenses">Licenses</string> | |
8 | 9 | ||
9 | 10 | <string name="search_hint">Search japanese word, kanji, meaning, ???</string> | |
10 | 11 | <string name="search_button">Search</string> | |
11 | 12 | <string name="title_activity_about">About</string> | |
13 | + | <string name="title_activity_license">About licenses</string> | |
12 | 14 | <string name="title_activity_dictionary">Dictionaries</string> | |
13 | 15 | <string name="title_activity_dictionary_download">Download</string> | |
14 | 16 | <string name="title_activity_help">Help</string> |