Skip to content
This repository was archived by the owner on Sep 3, 2024. It is now read-only.

Commit 39044b6

Browse files
committed
Merge branch 'dev'
# Conflicts: # README.md # app/release/app-release.apk # app/release/output-metadata.json # app/src/main/java/de/dlyt/yanndroid/oneuiexample/MainActivity.java # app/src/main/java/de/dlyt/yanndroid/oneuiexample/SwitchBarActivity.java # app/src/main/java/de/dlyt/yanndroid/oneuiexample/fragments/MainActivityFirstFragment.java # app/src/main/java/de/dlyt/yanndroid/oneuiexample/tabs/IconsTab.java # app/src/main/java/de/dlyt/yanndroid/oneuiexample/tabs/NothingTab.java # app/src/main/java/de/dlyt/yanndroid/oneuiexample/tabs/ViewsTab.java # app/src/main/res/drawable/color_palette_bg.xml # app/src/main/res/layout-land/activity_switchbar.xml # app/src/main/res/layout/activity_main.xml # app/src/main/res/layout/activity_switchbar.xml # app/src/main/res/layout/fragment_views_tab.xml # app/src/main/res/layout/icon_tab_listview_item.xml # app/src/main/res/values/strings.xml # gradle.properties # readme-res/screenrecording.gif # readme-res/screenshot_1.jpg # readme-res/screenshot_2.jpg # readme-res/screenshot_3.jpg # readme-res/screenshot_4.jpg # yanndroid/oneui/src/main/java/androidx/viewpager/widget/SeslViewPager.java # yanndroid/oneui/src/main/java/de/dlyt/yanndroid/oneui/dialog/ProgressDialog.java # yanndroid/oneui/src/main/java/de/dlyt/yanndroid/oneui/layout/AboutPage.java # yanndroid/oneui/src/main/java/de/dlyt/yanndroid/oneui/layout/DrawerLayout.java # yanndroid/oneui/src/main/java/de/dlyt/yanndroid/oneui/layout/ToolbarLayout.java # yanndroid/oneui/src/main/java/de/dlyt/yanndroid/oneui/menu/PopupMenu.java # yanndroid/oneui/src/main/java/de/dlyt/yanndroid/oneui/preference/ExpandButton.java # yanndroid/oneui/src/main/java/de/dlyt/yanndroid/oneui/preference/HorizontalRadioPreference.java # yanndroid/oneui/src/main/java/de/dlyt/yanndroid/oneui/preference/Preference.java # yanndroid/oneui/src/main/java/de/dlyt/yanndroid/oneui/preference/internal/HorizontalRadioViewContainer.java # yanndroid/oneui/src/main/java/de/dlyt/yanndroid/oneui/sesl/recyclerview/SeslRecyclerViewFastScroller.java # yanndroid/oneui/src/main/java/de/dlyt/yanndroid/oneui/sesl/tabs/SamsungTabLayout.java # yanndroid/oneui/src/main/java/de/dlyt/yanndroid/oneui/sesl/widget/SeslAbsSeekBar.java # yanndroid/oneui/src/main/java/de/dlyt/yanndroid/oneui/view/IndexScrollView.java # yanndroid/oneui/src/main/java/de/dlyt/yanndroid/oneui/view/RecyclerView.java # yanndroid/oneui/src/main/java/de/dlyt/yanndroid/oneui/view/TipPopup.java # yanndroid/oneui/src/main/java/de/dlyt/yanndroid/oneui/widget/ProgressBar.java # yanndroid/oneui/src/main/res/drawable/oui_progress_circle_dialog_bg.xml # yanndroid/oneui/src/main/res/layout/oui_radio_button_layout_horizontal_preference.xml # yanndroid/oneui/src/main/res/layout/sesl_progress_dialog.xml # yanndroid/oneui/src/main/res/layout/sesl_progress_dialog_circle.xml # yanndroid/oneui/src/main/res/layout/sesl_progress_dialog_circle_only.xml # yanndroid/oneui/src/main/res/values-land/dimens.xml # yanndroid/oneui/src/main/res/values-night/colors.xml # yanndroid/oneui/src/main/res/values/attrs.xml # yanndroid/oneui/src/main/res/values/colors.xml # yanndroid/oneui/src/main/res/values/dimens.xml # yanndroid/oneui/src/main/res/values/integer.xml # yanndroid/oneui/src/main/res/values/strings.xml # yanndroid/oneui/src/main/res/values/styles.xml
2 parents 9945fc6 + 43e036e commit 39044b6

File tree

497 files changed

+20195
-1121
lines changed

Some content is hidden

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

497 files changed

+20195
-1121
lines changed

app/build.gradle

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ android {
1010
applicationId "de.dlyt.yanndroid.oneuiexample"
1111
minSdkVersion 21
1212
targetSdkVersion 30
13-
versionCode = VERSION_CODE
13+
versionCode = VERSION_CODE.toInteger()
1414
versionName = VERSION_NAME
1515

1616
vectorDrawables.useSupportLibrary = true
@@ -28,7 +28,7 @@ android {
2828
targetCompatibility JavaVersion.VERSION_1_8
2929
}
3030

31-
project.gradle.addBuildListener(new BuildListener() {
31+
/*project.gradle.addBuildListener(new BuildListener() {
3232
@Override
3333
void settingsEvaluated(Settings settings) {}
3434
@@ -46,7 +46,7 @@ android {
4646
File stringFile = new File("${projectDir}/src/main/res/values/strings.xml")
4747
stringFile.write(stringFile.getText('UTF-8').replace("<string name=\"sesl_font_family_regular\" translatable=\"false\">sec-roboto-light</string>", "<string name=\"sesl_font_family_regular\" translatable=\"false\">sans-serif</string>"), 'UTF-8')
4848
}
49-
})
49+
})*/
5050
}
5151

5252
dependencies {
@@ -59,4 +59,4 @@ dependencies {
5959
testImplementation 'junit:junit:4.13.2'
6060
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
6161
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
62-
}
62+
}

app/release/app-release.apk

-2.03 MB
Binary file not shown.

app/release/output-metadata.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
"type": "SINGLE",
1212
"filters": [],
1313
"attributes": [],
14-
"versionCode": 57,
15-
"versionName": "2.3.0",
14+
"versionCode": 10,
15+
"versionName": "2.4.0",
1616
"outputFile": "app-release.apk"
1717
}
1818
],

app/src/main/java/de/dlyt/yanndroid/oneuiexample/MainActivity.java

Lines changed: 82 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
import android.os.Build;
1414
import android.os.Bundle;
1515
import android.os.Handler;
16+
import android.view.Gravity;
1617
import android.view.View;
1718
import android.view.inputmethod.InputMethodManager;
1819
import android.widget.LinearLayout;
19-
import android.widget.Toast;
2020

2121
import androidx.activity.result.ActivityResultLauncher;
2222
import androidx.activity.result.contract.ActivityResultContracts;
@@ -29,8 +29,10 @@
2929

3030
import de.dlyt.yanndroid.oneui.dialog.AlertDialog;
3131
import de.dlyt.yanndroid.oneui.dialog.ClassicColorPickerDialog;
32+
import de.dlyt.yanndroid.oneui.dialog.DatePickerDialog;
3233
import de.dlyt.yanndroid.oneui.dialog.DetailedColorPickerDialog;
3334
import de.dlyt.yanndroid.oneui.dialog.ProgressDialog;
35+
import de.dlyt.yanndroid.oneui.dialog.TimePickerDialog;
3436
import de.dlyt.yanndroid.oneui.layout.DrawerLayout;
3537
import de.dlyt.yanndroid.oneui.layout.ToolbarLayout;
3638
import de.dlyt.yanndroid.oneui.menu.MenuItem;
@@ -41,10 +43,12 @@
4143
import de.dlyt.yanndroid.oneui.utils.CustomButtonClickListener;
4244
import de.dlyt.yanndroid.oneui.utils.OnSingleClickListener;
4345
import de.dlyt.yanndroid.oneui.utils.ThemeUtil;
44-
import de.dlyt.yanndroid.oneui.view.Snackbar;
4546
import de.dlyt.yanndroid.oneui.view.TipPopup;
47+
import de.dlyt.yanndroid.oneui.view.Toast;
4648
import de.dlyt.yanndroid.oneui.view.Tooltip;
49+
import de.dlyt.yanndroid.oneui.widget.DatePicker;
4750
import de.dlyt.yanndroid.oneui.widget.TabLayout;
51+
import de.dlyt.yanndroid.oneui.widget.TimePicker;
4852
import de.dlyt.yanndroid.oneuiexample.base.BaseThemeActivity;
4953
import de.dlyt.yanndroid.oneuiexample.utils.TabsManager;
5054

@@ -201,7 +205,7 @@ public void onSingleClick(View view) {
201205
tabLayout.addTab(tabLayout.newTab().setText(s));
202206
}
203207

204-
Drawable icon = ResourcesCompat.getDrawable(getResources(), R.drawable.ic_samsung_drawer, getTheme());
208+
Drawable icon = ResourcesCompat.getDrawable(getResources(), R.drawable.ic_oui_drawer, getTheme());
205209
icon.setColorFilter(getResources().getColor(R.color.sesl_tablayout_text_color), PorterDuff.Mode.SRC_IN);
206210
tabLayout.addTabCustomButton(icon, new CustomButtonClickListener(tabLayout) {
207211
@Override
@@ -326,15 +330,35 @@ public void onColorSet(int i) {
326330
}
327331
}
328332

333+
public void datePickerDialog(View view) {
334+
DatePickerDialog datePickerDialog = new DatePickerDialog(mContext, new DatePickerDialog.OnDateSetListener() {
335+
@Override
336+
public void onDateSet(DatePicker seslDatePicker, int year, int month, int day) {
337+
Toast.makeText(mContext, "Year: " + year + "\nMonth: " + month + "\nDay: " + day, Toast.LENGTH_SHORT).show();
338+
}
339+
}, 2022, 0, 1);
340+
datePickerDialog.show();
341+
}
342+
343+
public void timePickerDialog(View view) {
344+
TimePickerDialog timePickerDialog = new TimePickerDialog(mContext, new TimePickerDialog.OnTimeSetListener() {
345+
@Override
346+
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
347+
Toast.makeText(mContext, "Hour: " + hourOfDay + "\nMinute: " + minute, Toast.LENGTH_SHORT).show();
348+
}
349+
}, 12, 45, true);
350+
timePickerDialog.show();
351+
}
352+
329353
public void standardDialog(View view) {
330354
AlertDialog dialog = new AlertDialog.Builder(this)
331355
.setTitle("Title")
332356
.setMessage("Message")
333357
.setNeutralButton("Maybe", null)
334358
.setNegativeButton("No", (dialogInterface, i) -> new Handler().postDelayed(dialogInterface::dismiss, 700))
335359
.setPositiveButton("Yes", (dialogInterface, i) -> new Handler().postDelayed(dialogInterface::dismiss, 700))
336-
.setNegativeButtonColor(getResources().getColor(R.color.sesl_functional_red))
337-
.setPositiveButtonColor(getResources().getColor(R.color.sesl_functional_green))
360+
.setNegativeButtonColor(mUseOUI4Theme ? mContext.getResources().getColor(R.color.sesl_functional_red) : 0)
361+
.setPositiveButtonColor(mUseOUI4Theme ? mContext.getResources().getColor(R.color.sesl_functional_green) : 0)
338362
.setPositiveButtonProgress(true)
339363
.setNegativeButtonProgress(true)
340364
.create();
@@ -344,50 +368,90 @@ public void standardDialog(View view) {
344368
public void singleChoiceDialog(View view) {
345369
CharSequence[] charSequences = {"Choice1", "Choice2", "Choice3"};
346370
new AlertDialog.Builder(this)
347-
.setTitle("Title")
371+
.setTitle("SingleChoiceItems")
348372
.setNeutralButton("Maybe", null)
349373
.setNegativeButton("No", null)
350374
.setPositiveButton("Yes", null)
351375
.setSingleChoiceItems(charSequences, 0, null)
376+
.setOnDismissListener(dialogInterface -> multiChoiceDialog(view))
352377
.show();
353378
}
354379

355-
public void multiChoiceDialog(View view) {
380+
private void multiChoiceDialog(View view) {
356381
CharSequence[] charSequences = {"Choice1", "Choice2", "Choice3"};
357382
boolean[] booleans = {true, false, true};
358383
new AlertDialog.Builder(this)
359-
.setTitle("Title")
384+
.setTitle("MultiChoiceItems")
360385
.setNeutralButton("Maybe", null)
361386
.setNegativeButton("No", null)
362387
.setPositiveButton("Yes", null)
363388
.setMultiChoiceItems(charSequences, booleans, null)
364389
.show();
365390
}
366391

367-
public void progressDialog(View view) {
392+
public void progressDialogSpinner(View view) {
368393
ProgressDialog dialog = new ProgressDialog(mContext);
394+
dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
369395
dialog.setIndeterminate(true);
370396
dialog.setCancelable(true);
371397
dialog.setCanceledOnTouchOutside(true);
372398
dialog.setTitle("Title");
373399
dialog.setMessage("ProgressDialog");
374400
dialog.setButton(ProgressDialog.BUTTON_NEGATIVE, "Cancel", (DialogInterface.OnClickListener) null);
375-
dialog.setOnCancelListener(dialog12 -> progressDialogCircleOnly(view));
401+
dialog.setOnDismissListener(dialogInterface -> progressDialogHorizontal(view));
402+
dialog.show();
403+
Toast infoToast = Toast.makeText(mContext, "STYLE_SPINNER", Toast.LENGTH_SHORT);
404+
infoToast.setGravity(Gravity.CENTER, 0 , 0);
405+
infoToast.show();
406+
}
407+
408+
private void progressDialogHorizontal(View view) {
409+
ProgressDialog dialog = new ProgressDialog(mContext);
410+
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
411+
dialog.setIndeterminate(true);
412+
dialog.setCancelable(false);
413+
dialog.setCanceledOnTouchOutside(false);
414+
dialog.setTitle("Title");
415+
dialog.setMessage("ProgressDialog");
416+
dialog.setOnDismissListener(dialogInterface -> progressDialogCircleOnly(view));
376417
dialog.show();
418+
419+
Toast infoToast = Toast.makeText(mContext, "STYLE_HORIZONTAL", Toast.LENGTH_SHORT);
420+
infoToast.setGravity(Gravity.CENTER, 0 , 0);
421+
infoToast.show();
422+
423+
dialog.setMax(100);
424+
425+
new Thread() {
426+
@Override
427+
public void run() {
428+
try {
429+
sleep(1000);
430+
431+
dialog.setIndeterminate(false);
432+
int fakeProgress = 0;
433+
while (fakeProgress < 100) {
434+
fakeProgress += 5;
435+
dialog.setProgress(fakeProgress);
436+
sleep(200);
437+
}
438+
dialog.dismiss();
439+
} catch (InterruptedException e) {
440+
dialog.dismiss();
441+
}
442+
}
443+
}.start();
377444
}
378445

379446
private void progressDialogCircleOnly(View view) {
380447
ProgressDialog dialog = new ProgressDialog(mContext);
381-
dialog.setProgressStyle(ProgressDialog.STYLE_CIRCLE_ONLY);
448+
dialog.setProgressStyle(ProgressDialog.STYLE_CIRCLE);
382449
dialog.setCancelable(true);
383450
dialog.setCanceledOnTouchOutside(true);
384-
dialog.setOnCancelListener(dialog1 -> Snackbar.make(view, "Text label", Snackbar.LENGTH_SHORT).setAction("Action", new View.OnClickListener() {
385-
@Override
386-
public void onClick(View v) {
387-
388-
}
389-
}).show());
390451
dialog.show();
452+
453+
Toast infoToast = Toast.makeText(mContext, "STYLE_CIRCLE", Toast.LENGTH_SHORT);
454+
infoToast.show();
391455
}
392456

393457
private void popupView(View view) {
@@ -400,13 +464,12 @@ private void popupView(View view) {
400464
@Override
401465
public boolean onMenuItemClick(MenuItem item) {
402466
item.setBadge(item.getBadge() + 1);
403-
tabLayout.seslShowBadge(2, true, String.valueOf(bnvPopupMenu.getMenu().getTotalBadgeCount()));
404467
return !item.isCheckable();
405468
}
406469

407470
@Override
408471
public void onMenuItemUpdate(MenuItem menuItem) {
409-
472+
tabLayout.seslShowBadge(2, true, bnvPopupMenu.getMenu().getTotalBadgeCount());
410473
}
411474
});
412475
}

app/src/main/java/de/dlyt/yanndroid/oneuiexample/SwitchBarActivity.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,9 @@
33
import android.content.Context;
44
import android.content.SharedPreferences;
55
import android.os.Bundle;
6-
import android.view.View;
7-
import android.widget.Toast;
86

97
import de.dlyt.yanndroid.oneui.layout.SwitchBarLayout;
10-
import de.dlyt.yanndroid.oneui.layout.ToolbarLayout;
8+
import de.dlyt.yanndroid.oneui.view.Toast;
119
import de.dlyt.yanndroid.oneui.widget.Switch;
1210
import de.dlyt.yanndroid.oneui.widget.SwitchBar;
1311
import de.dlyt.yanndroid.oneuiexample.base.BaseThemeActivity;

app/src/main/java/de/dlyt/yanndroid/oneuiexample/fragments/MainActivityFirstFragment.java

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111

1212
import com.google.android.material.floatingactionbutton.FloatingActionButton;
1313

14-
import de.dlyt.yanndroid.oneui.sesl.tabs.SamsungTabLayout;
1514
import de.dlyt.yanndroid.oneui.sesl.tabs.TabLayoutMediator;
1615
import de.dlyt.yanndroid.oneui.sesl.viewpager2.widget.SeslViewPager2;
1716
import de.dlyt.yanndroid.oneui.view.ViewPager2;
@@ -26,7 +25,7 @@ public class MainActivityFirstFragment extends Fragment {
2625
private View mRootView;
2726

2827
@Override
29-
public void onAttach(Context context) {
28+
public void onAttach(@NonNull Context context) {
3029
super.onAttach(context);
3130
mActivity = (BaseThemeActivity) getActivity();
3231
mContext = mActivity.getApplicationContext();
@@ -39,7 +38,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa
3938
}
4039

4140
@Override
42-
public void onViewCreated(View view, Bundle savedInstanceState) {
41+
public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
4342
super.onViewCreated(view, savedInstanceState);
4443

4544
getView().setBackgroundColor(getResources().getColor(mActivity.mUseOUI4Theme ? R.color.sesl4_round_and_bgcolor : R.color.sesl_round_and_bgcolor));
@@ -53,7 +52,7 @@ public void onViewCreated(View view, Bundle savedInstanceState) {
5352
viewPager2.registerOnPageChangeCallback(new SeslViewPager2.OnPageChangeCallback() {
5453
@Override
5554
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
56-
if (position == 0) {
55+
if (position == 0 && positionOffset == 0) {
5756
fab.show();
5857
} else {
5958
fab.hide();
@@ -71,20 +70,12 @@ public void onPageSelected(int position) {
7170

7271
@Override
7372
public void onPageScrollStateChanged(int state) {
74-
if (state == ViewPager2.SCROLL_STATE_IDLE && viewPager2.getCurrentItem() == 0) {
75-
fab.show();
76-
} else {
77-
fab.hide();
78-
}
7973
}
8074
});
8175

82-
TabLayoutMediator tlm = new TabLayoutMediator(subTabs, viewPager2, new TabLayoutMediator.TabConfigurationStrategy() {
83-
@Override
84-
public void onConfigureTab(@NonNull SamsungTabLayout.Tab tab, int position) {
85-
String[] tabTitle = {"Views", "Icons", "Nothing"};
86-
tab.setText(tabTitle[position]);
87-
}
76+
TabLayoutMediator tlm = new TabLayoutMediator(subTabs, viewPager2, (tab, position) -> {
77+
String[] tabTitle = {"Views", "Icons", "Nothing"};
78+
tab.setText(tabTitle[position]);
8879
});
8980
tlm.attach();
9081
}

app/src/main/java/de/dlyt/yanndroid/oneuiexample/fragments/MainActivitySecondFragment.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import de.dlyt.yanndroid.oneui.preference.TipsCardViewPreference;
1818
import de.dlyt.yanndroid.oneui.preference.internal.PreferencesRelatedCard;
1919
import de.dlyt.yanndroid.oneui.utils.ThemeUtil;
20+
import de.dlyt.yanndroid.oneui.view.Toast;
2021
import de.dlyt.yanndroid.oneuiexample.MainActivity;
2122
import de.dlyt.yanndroid.oneuiexample.R;
2223

0 commit comments

Comments
 (0)