Android library to realize the various states and transitions in a ProgressBar.

Overview

StateProgressBar

Android Arsenal

StateProgressBar is an Android library to realize the various states and transitions in a ProgressBar.

alt tag

Quick Start

Get a feel of how it works:

Get it on Google Play

Check the wiki for detailed documentation.

Gradle

Add the following dependency to your build.gradle :

dependencies {
     implementation 'com.kofigyan.stateprogressbar:stateprogressbar:1.0.0'
}

XML

<com.kofigyan.stateprogressbar.StateProgressBar
    android:id="@+id/your_state_progress_bar_id"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:spb_currentStateNumber="three"
    app:spb_maxStateNumber="four"
    app:spb_stateBackgroundColor="#BDBDBD"
    app:spb_stateForegroundColor="#009688"
    app:spb_stateNumberBackgroundColor="#808080"
    app:spb_stateNumberForegroundColor="#eeeeee"
    app:spb_currentStateDescriptionColor="#009688"
    app:spb_stateDescriptionColor="#808080"
    app:spb_animateToCurrentProgressState="true"
    app:spb_checkStateCompleted="true"/>

To add description data to StateProgressBar :

String[] descriptionData = {"Details", "Status", "Photo", "Confirm"};

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.your_layout);

    StateProgressBar stateProgressBar = (StateProgressBar) findViewById(R.id.your_state_progress_bar_id);
    stateProgressBar.setStateDescriptionData(descriptionData);

}

XML Attributes

    spb_currentStateNumber => Current state number. Must be one of the following constant values : one , two , three , four .
    Related method : setCurrentStateNumber(StateNumber)

    spb_maxStateNumber  => Maximum state number. Must be one of the following constant values : one , two , three , four .
    Related method : setMaxStateNumber(StateNumber)

    spb_stateBackgroundColor  => State background color. Should be a color value. Possible forms are "#rgb", "#argb", "#rrggbb", or "#aarrggbb".
    Related method : setBackgroundColor(int)

    spb_stateForegroundColor  => State foreground color. Should be a color value. Possible forms are "#rgb", "#argb", "#rrggbb", or "#aarrggbb".
    Related method : setForegroundColor(int)

    spb_stateNumberBackgroundColor => State number background color. Should be a color value. Possible forms are "#rgb", "#argb", "#rrggbb", or "#aarrggbb".
    Related method : setStateNumberBackgroundColor(int)

    spb_stateNumberForegroundColor => State number foreground color. Should be a color value. Possible forms are "#rgb", "#argb", "#rrggbb", or "#aarrggbb".
    Related method : setStateNumberForegroundColor(int)

    spb_currentStateDescriptionColor => Current state description color. Should be a color value. Possible forms are "#rgb", "#argb", "#rrggbb", or "#aarrggbb".
    Related method : setCurrentStateDescriptionColor(int)

    spb_stateDescriptionColor => State description color. Should be a color value. Possible forms are "#rgb", "#argb", "#rrggbb", or "#aarrggbb".
    Related method : setStateDescriptionColor(int)

    spb_stateSize => State size . Must be a dimension value with preferrable unit of dp eg. 25dp
    Related method : setStateSize(float)

    spb_stateTextSize => State text(number) size . Must be a dimension value with preferrable unit of sp eg. 15sp
    Related method : setStateNumberTextSize(float)

    spb_stateDescriptionSize => State description size . Must be a dimension value with preferrable unit of dp eg. 20dp
    Related method : setStateDescriptionSize(float)        

    spb_stateLineThickness => State joining line size(thickness) . Must be a dimension value with preferrable unit of dp eg. 10dp
    Related method : setStateLineThickness(float)

    spb_checkStateCompleted => Check completed states . Must be a boolean value,either "true" or "false"
    Related method : checkStateCompleted(boolean)        

    spb_animateToCurrentProgressState => Animate joining line to current progress state . Must be a boolean value,either "true" or "false"
    Related method : enableAnimationToCurrentState(boolean)        

    spb_enableAllStatesCompleted => Check all states . Must be a boolean value,either "true" or "false"
    Related method : setAllStatesCompleted(boolean)         

    spb_descriptionTopSpaceDecrementer => Space between state and description decrementer . Must be a dimension value with preferrable unit of dp eg. 10dp
    Related method : setDescriptionTopSpaceDecrementer(float)

    spb_descriptionTopSpaceIncrementer => Space between state and description incrementer . Must be a dimension value with preferrable unit of dp eg. 10dp
    Related method : setDescriptionTopSpaceIncrementer(float)

    spb_animationDuration => State joining line animation duration . Must be an integer value eg. "500" , "1000" , "2000" , "5000" , "10000" etc
    Related method : setAnimationDuration(int)

    spb_animationStartDelay => State joining line animation start delay . Must be an integer value eg. "500" , "1000" , "2000" , "5000" , "10000" etc
    Related method : setAnimationStartDelay(int)

    spb_descriptionLinesSpacing => State description multiline spacing . Must be a dimension value with preferrable unit of dp eg. 20dp
    Related method : setDescriptionLinesSpacing(float)

    spb_justifyMultilineDescription => Justify multiline description. Must be a boolean value,either "true" or "false"
    Related method : setJustifyMultilineDescription(boolean)

    spb_maxDescriptionLines => Maximum number of line for multiline description . Must be an integer value eg. "2" , "3" , "4" , "5" , "6" etc
    Related method : setMaxDescriptionLine(int)

    spb_stateNumberIsDescending => Rtl Language support. Must be a boolean value,either "true" or "false"
    Related method : setStateNumberIsDescending(boolean)

JAVA

StateProgressBar stateProgressBar = (StateProgressBar) findViewById(R.id.state_progress_bar);

stateProgressBar.setForegroundColor(ContextCompat.getColor(this, R.color.demo_state_foreground_color));
stateProgressBar.setBackgroundColor(ContextCompat.getColor(this, android.R.color.darker_gray));

stateProgressBar.setStateNumberForegroundColor(ContextCompat.getColor(this, android.R.color.white));
stateProgressBar.setStateNumberBackgroundColor(ContextCompat.getColor(this, android.R.color.background_dark));

stateProgressBar.setStateSize(40f);
stateProgressBar.setStateNumberTextSize(20f);
stateProgressBar.setStateLineThickness(10f);

stateProgressBar.enableAnimationToCurrentState(true);

stateProgressBar.setDescriptionTopSpaceIncrementer(10f);
stateProgressBar.setStateDescriptionSize(18f);

stateProgressBar.setCurrentStateDescriptionColor(ContextCompat.getColor(this, R.color.description_foreground_color));
stateProgressBar.setStateDescriptionColor(ContextCompat.getColor(this,  R.color.description_background_color));

stateProgressBar.setStateDescriptionTypeface("fonts/RobotoSlab-Light.ttf");
stateProgressBar.setStateNumberTypeface("fonts/Questrial-Regular.ttf");

stateProgressBar.setMaxDescriptionLine(2);
stateProgressBar.setJustifyMultilineDescription(true);
stateProgressBar.setDescriptionLinesSpacing(5f);

stateProgressBar.setStateNumberIsDescending(true);

EXTRA DEMOS(WITH CODES)

  • A Two-State StateProgressBar

alt tag

<com.kofigyan.stateprogressbar.StateProgressBar
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  app:spb_currentStateNumber="one"
  app:spb_maxStateNumber="two"/>

  • A Three-State StateProgressBar

alt tag

  <com.kofigyan.stateprogressbar.StateProgressBar
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  app:spb_currentStateNumber="two"
  app:spb_maxStateNumber="three"/>

  • A Four-State StateProgressBar

alt tag

   <com.kofigyan.stateprogressbar.StateProgressBar
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   app:spb_currentStateNumber="three"
   app:spb_maxStateNumber="four"/>

  • A Five-State StateProgressBar

alt tag

   <com.kofigyan.stateprogressbar.StateProgressBar
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   app:spb_currentStateNumber="four"
   app:spb_maxStateNumber="five"/>

  • A Five-State StateProgressBar(Descending/Rtl Languages Support)

alt tag

   <com.kofigyan.stateprogressbar.StateProgressBar
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   app:spb_currentStateNumber="four"
   app:spb_maxStateNumber="five"
   app:spb_stateNumberIsDescending="true"/>

  • Check States Completed

alt tag

   <com.kofigyan.stateprogressbar.StateProgressBar
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   app:spb_currentStateNumber="three"
   app:spb_maxStateNumber="four"
   app:spb_checkStateCompleted="true"/>

  • Check All States

alt tag

       <com.kofigyan.stateprogressbar.StateProgressBar
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       app:spb_currentStateNumber="three"
       app:spb_maxStateNumber="four"
       app:spb_enableAllStatesCompleted="true"/>

  • Animate to Current State

alt tag

    <com.kofigyan.stateprogressbar.StateProgressBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:spb_currentStateNumber="three"
        app:spb_maxStateNumber="four"
        app:spb_stateBackgroundColor="#BDBDBD"
        app:spb_stateForegroundColor="#DB0082"
        app:spb_stateNumberBackgroundColor="#808080"
        app:spb_stateNumberForegroundColor="#eeeeee"
        app:spb_currentStateDescriptionColor="#DB0082"
        app:spb_stateDescriptionColor="#808080"
        app:spb_animateToCurrentProgressState="true"
        app:spb_checkStateCompleted="true"/>       
  • Add Click Listener to State Items

alt tag

    stateProgressBar.setOnStateItemClickListener(new OnStateItemClickListener() {
                @Override
                public void onStateItemClick(StateProgressBar stateProgressBar, StateItem stateItem, int stateNumber, boolean isCurrentState) {
                    Toast.makeText(getApplicationContext(), "state Clicked Number is " + stateNumber, Toast.LENGTH_LONG).show();

                }
            });
  • Add Description Data to StateProgressBar

alt tag

 <com.kofigyan.stateprogressbar.StateProgressBar
 android:id="@+id/your_state_progress_bar_id"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 app:spb_currentStateNumber="two"
 app:spb_maxStateNumber="four"/>

String[] descriptionData = {"Details", "Status", "Photo", "Confirm"};

@Override
protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.your_layout);

 StateProgressBar stateProgressBar = (StateProgressBar) findViewById(R.id.your_state_progress_bar_id);
 stateProgressBar.setStateDescriptionData(descriptionData);

}

  • Add Custom Font to State Items and State Description Data

alt tag

 String[] descriptionData = {"Details", "Status", "Photo", "Confirm"};

@Override
protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.your_layout);

 StateProgressBar stateProgressBar = (StateProgressBar) findViewById(R.id.your_state_progress_bar_id);
 stateProgressBar.setStateDescriptionData(descriptionData);

   stateProgressBar.setStateDescriptionTypeface("fonts/RobotoSlab-Light.ttf");
   stateProgressBar.setStateNumberTypeface("fonts/Questrial-Regular.ttf");


}

  • Change Colors (State Background , State Foreground, State Number Background ,State Number Foreground, Current State Description, State Description)

alt tag

<com.kofigyan.stateprogressbar.StateProgressBar
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   app:spb_currentStateNumber="three"
   app:spb_maxStateNumber="four"
   app:spb_stateBackgroundColor="#BDBDBD"
   app:spb_stateForegroundColor="#009688"
   app:spb_stateNumberBackgroundColor="#808080"
   app:spb_stateNumberForegroundColor="#eeeeee"
   app:spb_currentStateDescriptionColor="#009688"
   app:spb_stateDescriptionColor="#808080"
   app:spb_checkStateCompleted="true"/>

  • Description Top Spacing

alt tag

<com.kofigyan.stateprogressbar.StateProgressBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:spb_descriptionTopSpaceIncrementer="5dp"/>


        String[] descriptionData = {"Details", "Status", "Photo", "Confirm"};

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.your_layout);

            StateProgressBar stateProgressBar = (StateProgressBar) findViewById(R.id.your_state_progress_bar_id);
            stateProgressBar.setStateDescriptionData(descriptionData);

        }

  • Change Dimensions (State, State Number ,State Line and State Description sizes)

alt tag

<com.kofigyan.stateprogressbar.StateProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:spb_descriptionTopSpaceIncrementer="2dp"
app:spb_stateDescriptionSize="20sp"
app:spb_stateLineThickness="10dp"
app:spb_stateSize="40dp"
app:spb_stateTextSize="15sp" />
  • Add Multiline Description Data to StateProgressBar

alt tag

 <com.kofigyan.stateprogressbar.StateProgressBar
 android:id="@+id/your_state_progress_bar_id"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 app:spb_currentStateNumber="three"
 app:spb_maxStateNumber="five"/>

    String[] descriptionData = {"Details\nPlace", "Status\nPrice", "Photo\nShoot", "Confirm\nResponse" , "Buy\nDone"};

@Override
protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.your_layout);

 StateProgressBar stateProgressBar = (StateProgressBar) findViewById(R.id.your_state_progress_bar_id);
 stateProgressBar.setStateDescriptionData(descriptionData);

}

  • Justify and Spacing for Multiline Description Data

alt tag

 <com.kofigyan.stateprogressbar.StateProgressBar
 android:id="@+id/your_state_progress_bar_id"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 app:spb_currentStateNumber="three"
 app:spb_maxStateNumber="five"
 app:spb_justifyMultilineDescription="true"
 app:spb_descriptionLinesSpacing="5dp"/>

    String[] descriptionData = {"Details\nPlace", "Status\nPrice", "Photo\nShoot", "Confirm\nResponse" , "Buy\nDone"};

@Override
protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.your_layout);

 StateProgressBar stateProgressBar = (StateProgressBar) findViewById(R.id.your_state_progress_bar_id);
 stateProgressBar.setStateDescriptionData(descriptionData);

}

Developer

Kofi Gyan ([email protected]) Currently opened to Android engineer position(remote/relocation)

License

Copyright 2016 Kofi Gyan.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Comments
  • Can't use this library

    Can't use this library

    Why can I not download the jar file from jitpack ? I tried a lot of things without succes.

    I need a working aar file. Is there anything broken on master?

    opened by michael-winkler 15
  • Issue while setting Current state number dynamically

    Issue while setting Current state number dynamically

    I am trying to set current state number dynamically but it is not showing correct result while when I set in XML file it works fine.

    I have used stateProgressBar.setCurrentStateNumber(StateProgressBar.StateNumber.TWO);

    after removing app:spb_currentStateNumber="two" from XML file.

    See the result below current description is showing correctly but progress line is going to opposite direction.

    issue

    opened by amitsri20 14
  • Reset state progress bar?

    Reset state progress bar?

    I wanted to reset the progress bar in the same view if the corresponding action was restarted, but after all states have been checked, I'm not able to reset the states to its initial state. Is there any way to reuse the progress bar after it completed once?

    opened by philipphager 13
  • Change AllowBackup from Manifest

    Change AllowBackup from Manifest

    I'm in a project that goes through a security and vunerability tool which one of the requirements is the flag "AllowBackup" of the manifest file to have the value "false". I forked your project and changed that flag. Thanks a lot! I'm also making this "Pull Request" in case you find it interesting and want to make it default so people don't have this problem again.

    opened by pacdouglas 6
  • StateProgressBar is overdrawing

    StateProgressBar is overdrawing

    I noticed StateProgressBar is drawing the foreground color over the background color. This is

    1. visually noticeable on low resolutions - see attached image - top is current version, bottom is how it should look, black background color
    2. bad for performance because drawing the background is not necessary

    you can fix it yourself if you want, but I can also send you a pull request^^ Thanks for the cool library, it will soon be used in our 50k users app!

    comparison

    opened by connyduck 5
  • Changing of Color, size,Line Thickness returns back to it initial color after changing the device orientation or pressing back button

    Changing of Color, size,Line Thickness returns back to it initial color after changing the device orientation or pressing back button

    Hello, I need your reply on this behavior ASAP, i think there should be a save button to keep those setting remain in it state or is the behavior a bug?

    opened by tykees 3
  • Full Descending order progress?

    Full Descending order progress?

    Hello, please is it possible for the circle progress to be in descending order as well and not just the numbers? i mean i want the progress to be in a count down fashion like it should start filling bar from 4,3,2,1 in that order. is this possible?

    opened by Sytehk 2
  • reduced size of fontawesome-webfont.ttf by removing all unneeded glyphs

    reduced size of fontawesome-webfont.ttf by removing all unneeded glyphs

    I removed all glyphs but the checkmark from fontawesome-webfont.ttf as they are the main reason for the size of this library. File size is down from 149 KB to 2.13 KB -> Smaller apks for everybody without any change in functionality yay!

    opened by connyduck 1
  • Fix bug of going back to the first stage.

    Fix bug of going back to the first stage.

    This fixes the bug of going back to the first stage after already moving to other stages. If you do that in the original code, the progress bar doesn't resets the drawing coordinates and the joining line between the first stage and the second stage won't be erased.

    opened by Fredrib 0
  • Failed to resolve the lib

    Failed to resolve the lib

    Hi KofiGyan

    So been getting this Gradle error, can you help me with the reason as to why this is happening and also fix it. Thank you

    Failed to resolve: com.kofigyan.stateprogressbar:stateprogressbar:1.0.0

    opened by atul-17 1
  • Is this project dead?

    Is this project dead?

    This repo has over 1.4k stars and 228 forks and still, nothing is going on. If the owner of this project has no interest in this anymore, at least he/she should give a statement. Since this project is not uploaded to mavencentral (asked since may) etc. it will sooner or later be gone into the void.

    I will take it into my own hands and upload this repo to maven.

    opened by Berki2021 1
  • When changing state, Animation doesnt works slowly  or with delay as shown in the demo of this github repo

    When changing state, Animation doesnt works slowly or with delay as shown in the demo of this github repo

    the delay in animation doesnt works slowly as its shown in the demo of this repo.

    My code: app:spb_animationStartDelay="10000" app:spb_animateToCurrentProgressState="true" app:spb_animationDuration="100000"

    opened by SRV2606 0
Owner
Kofi Gyan
Software Engineer/Senior Android Engineer (Remote/Relocation jobs)
Kofi Gyan
An Android library providing to realize wave loading effect.

WaveLoadingView WaveLoadingView - An Android library that provides a realistic wave-loading effect. Sample Usage For a working implementation of this

Tang 1.7k Jan 2, 2023
Loading layout is a container view that manages easy switching between loading, completed and other states of your screen with a single line.

Loading layout is a container view that manages easy switching between loading, completed and other states of your screen with a single line.

ValarTech 16 Jul 5, 2022
Now deprecated. A small Android library allowing you to have a smooth and customizable horizontal indeterminate ProgressBar

Description Small library allowing you to make a smooth indeterminate progress bar. You can either user your progress bars and set this drawable or us

Antoine Merle 4.4k Dec 30, 2022
An android library to display a progressbar that goes around an image.

android-square-progressbar First things first This library is setup to work with the Android Studio and Gradle. If you're using the Eclipse environmen

Yannick Signer 1.3k Nov 15, 2022
A beautiful, slim Android ProgressBar.

Android NumberProgressBar The NumberProgressBar is a bar, slim and sexy (every man wants! ). I decided to do this because I was really tired of androi

代码家 6k Jan 7, 2023
Some beautiful android loading drawable, can be combined with any view as the LoadingView or the ProgressBar. Besides, some Drawable can customize the loading progress too.

LoadingDrawable: Android cool animation collection 前言 CircleRotate源码解析 Fish源码解析 LoadingDrawable is some android animations implement of drawable: a li

dinus_developer 4.1k Dec 27, 2022
Android ProgressBar that "bends" under its own weight. Inspired by http://drbl.in/nwih

RopeProgressBar Android ProgressBar that "bends" under its own weight. Attributes Attribute Type Default Usage app:ropeMax integer 0 The max value of

Christian De Angelis 206 Dec 18, 2022
ArcProgressbar project let create Arc progressbar in android in simplest way.

Arc Progressbar In Android ArcProgressbar project let create Arc progressbar in android in simplest way. USAGE To make a Arc Progressbar add ArcProgre

Manish 40 Dec 11, 2022
Holo Circular ProgressBar

HoloCircularProgressBar What is HoloCircularProgressBar HoloCircularProgressBar is a Custom View implementation for Android you might know from the An

Pascal Welsch 957 Nov 15, 2022
MaterialLoadingProgressBar provide a styled ProgressBar which looks like SwipeRefreshLayout's loading indicator(support-v4 v21+)

MaterialLoadingProgressBar MaterialLoadingProgressBar provide a styled ProgressBar which looks like SwipeRefreshLayout's loading indicator(support-v4

lsjwzh 1.1k Nov 19, 2022
Progressbar with whorl style

WhorlView 一个加载View 预览 使用 step1 添加gradle配置 dependencies { compile 'com.tt:whorlviewlibrary:1.0.3' } step2 在xml中添加WhorlView <com.tt.whorlviewli

AndroidKy 409 Dec 3, 2022
Material Design ProgressBar with consistent appearance

MaterialProgressBar Material Design ProgressBar with consistent appearance on Android 4.0+. Why MaterialProgressBar? Consistent appearance on Android

Hai Zhang 2.2k Jan 1, 2023
A customizable, animated progress bar that features rounded corners. This Android library is designed to look great and be simple to use 🎉

RoundedProgressBar Easy, Beautiful, Customizeable The RoundedProgressBar library gives you a wide range of customizable options for making progress ba

null 541 Jan 1, 2023
Android loading or progress dialog widget library, provide efficient way to implement iOS like loading dialog and progress wheel

ACProgressLite English Version / 中文版本 An Android loading widget library. Lite and easy to use, strong customizability. Can be used to implement 'iOS'

Cloudist Technology Co., Ltd. 234 Nov 24, 2022
Progress Button is a android library for hanling different types state like active, finished, enabled, disabled and reset with a single line of code.

Progress Button is a android library for hanling different types state like active, finished, enabled, disabled and reset with a single line of code.

Sagar Khurana 38 Nov 15, 2022
[Android] Round Corner Progress Bar Library for Android

RoundCornerProgressBar Round corner is cool. Let's make your progress bar to round corner Colorful progress bar with round corner on progress which yo

Akexorcist 2.3k Dec 31, 2022
[Android] Round Corner Progress Bar Library for Android

RoundCornerProgressBar Round corner is cool. Let's make your progress bar to round corner Colorful progress bar with round corner on progress which yo

Akexorcist 2.3k Jan 7, 2023
Android library to display progress like google does in some of his services.

GoogleProgressBar This library is not maintained anymore and there will be no further releases Android library to display different kind of google rel

JPARDOGO 1.3k Dec 27, 2022
DownloadProgressBar is an android library that delivers awesome custom progress bar. You can manipulate it's state in every way.

Download Progress Bar Android progress bar with cool animation, inspired by : https://dribbble.com/shots/2012292-Download-Animation ###Attributes Attr

Mariusz Brona 978 Nov 10, 2022