Skip to content
This repository was archived by the owner on Sep 3, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
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
56 changes: 53 additions & 3 deletions app/src/main/java/de/dlyt/yanndroid/oneuiexample/MainActivity.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package de.dlyt.yanndroid.oneuiexample;

import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Configuration;
Expand All @@ -10,16 +11,19 @@
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.text.Editable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.Toast;

import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.appcompat.util.SeslMisc;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
Expand All @@ -35,6 +39,7 @@
import de.dlyt.yanndroid.oneui.sesl.support.ViewSupport;
import de.dlyt.yanndroid.oneui.sesl.utils.ReflectUtils;
import de.dlyt.yanndroid.oneui.utils.CustomButtonClickListener;
import de.dlyt.yanndroid.oneui.utils.OnSingleClickListener;
import de.dlyt.yanndroid.oneui.utils.ThemeUtil;
import de.dlyt.yanndroid.oneui.view.BottomNavigationView;
import de.dlyt.yanndroid.oneui.view.Snackbar;
Expand Down Expand Up @@ -322,13 +327,58 @@ public void onViewModeChanged(int i) {
}

public void standardDialog(View view) {
new AlertDialog.Builder(this)
AlertDialog dialog = new AlertDialog.Builder(this)
.setTitle("Title")
.setMessage("Message")
.setNeutralButton("Maybe", null)
.setNegativeButton("No", null)
.setPositiveButton("Yes", null)
.show();
.create();
dialog.show();


Button positiveBtn = dialog.getButton(DialogInterface.BUTTON_POSITIVE);
if (mUseOUI4Theme) {
Button negativeBtn = dialog.getButton(DialogInterface.BUTTON_NEGATIVE);
negativeBtn.setTextColor(getResources().getColor(R.color.sesl_functional_red));
positiveBtn.setTextColor(getResources().getColor(R.color.sesl_functional_green));
}
positiveBtn.setOnClickListener(new OnSingleClickListener() {
@Override
public void onSingleClick(View view) {
showProgressBarInDialog(dialog);
new Handler().postDelayed(dialog::dismiss, 700);
}
});
}

private void showProgressBarInDialog(AlertDialog dialog) {
Button positiveBtn = dialog.getButton(DialogInterface.BUTTON_POSITIVE);
Button negativeBtn = dialog.getButton(DialogInterface.BUTTON_NEGATIVE);
Button neutralBtn = dialog.getButton(DialogInterface.BUTTON_NEUTRAL);

dialog.setCancelable(false);
dialog.setCanceledOnTouchOutside(false);
if (negativeBtn != null) negativeBtn.setEnabled(false);
if (neutralBtn != null) neutralBtn.setEnabled(false);
if (positiveBtn != null) {
positiveBtn.setEnabled(false);

ViewGroup buttonBar = (ViewGroup) positiveBtn.getParent();
if (buttonBar != null) {
int buttonIndex = buttonBar.indexOfChild(positiveBtn);

ViewGroup.LayoutParams lp = positiveBtn.getLayoutParams();
lp.height = getResources().getDimensionPixelSize(R.dimen.dialog_progress_bar_size);
lp.width = getResources().getDimensionPixelSize(R.dimen.dialog_progress_bar_size);

View inflate = LayoutInflater.from(this).inflate(R.layout.dialog_progress_bar, buttonBar, false);
inflate.setLayoutParams(lp);

buttonBar.removeView(positiveBtn);
buttonBar.addView(inflate, buttonIndex);
}
}
}

public void singleChoiceDialog(View view) {
Expand Down
6 changes: 6 additions & 0 deletions app/src/main/res/layout/dialog_progress_bar.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center">
<de.dlyt.yanndroid.oneui.view.ProgressBar
android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" style="?android:progressBarStyleSmall" />
</FrameLayout>
4 changes: 4 additions & 0 deletions app/src/main/res/values/dimens.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="dialog_progress_bar_size">36.0dip</dimen>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -295,17 +295,15 @@ public Builder setCursor(final Cursor cursor, final OnClickListener listener, St
return this;
}

public Builder setMultiChoiceItems(@ArrayRes int itemsId, boolean[] checkedItems,
final OnMultiChoiceClickListener listener) {
public Builder setMultiChoiceItems(@ArrayRes int itemsId, boolean[] checkedItems, final OnMultiChoiceClickListener listener) {
P.mItems = P.mContext.getResources().getTextArray(itemsId);
P.mOnCheckboxClickListener = listener;
P.mCheckedItems = checkedItems;
P.mIsMultiChoice = true;
return this;
}

public Builder setMultiChoiceItems(CharSequence[] items, boolean[] checkedItems,
final OnMultiChoiceClickListener listener) {
public Builder setMultiChoiceItems(CharSequence[] items, boolean[] checkedItems, final OnMultiChoiceClickListener listener) {
P.mItems = items;
P.mOnCheckboxClickListener = listener;
P.mCheckedItems = checkedItems;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,9 @@ public SamsungAlertController(Context context, AppCompatDialog di, Window window

a.recycle();

// for devices without SamsungBasicInteraction flag
window.setGravity(Gravity.BOTTOM);

di.supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
}

Expand Down
4 changes: 4 additions & 0 deletions yanndroid/oneui/src/main/res/values-night/colors.xml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@

<color name="sesl_swipe_refresh_background">#ff252525</color>

<color name="sesl_functional_green">#ff5ad69e</color>
<color name="sesl_functional_orange">#fff6874f</color>
<color name="sesl_functional_red">#fff76f68</color>

<!--Sesl-->
<color name="divider_color">#42fafafa</color>

Expand Down
5 changes: 5 additions & 0 deletions yanndroid/oneui/src/main/res/values/colors.xml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,10 @@

<color name="sesl_swipe_refresh_background">#fffafafa</color>

<color name="sesl_functional_green">#ff14a866</color>
<color name="sesl_functional_orange">#ffef5e16</color>
<color name="sesl_functional_red">#ffdb332a</color>


<!--Colors-->
<color name="red">#ffD50000</color>
Expand Down Expand Up @@ -208,6 +212,7 @@
<!--Dialog-->
<color name="sesl_dialog_body_text_color">#ff505050</color>
<color name="sesl_dialog_button_text_color">#ff0074d4</color>
<color name="sesl_dialog_button_red_text">@color/sesl_functional_red</color>
<color name="sesl4_dialog_button_text_color">#ff010101</color>
<color name="sesl_dialog_divider_color_material">#ffe6e6e6</color>
<color name="sesl_dialog_list_text_color">#ff252525</color>
Expand Down