MCPcopy Index your code
hub / github.com/3llomi/CircularStatusView

github.com/3llomi/CircularStatusView @V1.0.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release V1.0.3 ↗ · + Follow
57 symbols 108 edges 10 files 4 documented · 7%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

CircularStatusView

A Simple View that draws portions of a Circle depending on a number , just like what WhatsApp has done for Status

Demo

Install

Add this to your project build.gradle

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

Add this to your module build.gradle

dependencies {
  implementation 'com.github.3llomi:CircularStatusView:V1.0.2'
}

Usage

NOTE:you can replace CircleImageView with any view

XML


 <?xml version="1.0" encoding="utf-8"?>
  <RelativeLayout
        android:id="@+id/image_layout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="8dp"
        android:layout_marginTop="8dp"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toTopOf="parent">


        <de.hdodenhof.circleimageview.CircleImageView
            android:layout_width="75dp"
            android:layout_height="75dp"
            android:layout_centerInParent="true"
            android:padding="6dp"
            android:src="https://github.com/3llomi/CircularStatusView/raw/V1.0.3/@mipmap/ic_launcher" />

        <com.devlomi.circularstatusview.CircularStatusView
            android:id="@+id/circular_status_view"
            android:layout_width="75dp"
            android:layout_height="75dp"
            android:layout_centerInParent="true"
            app:portion_color="@color/colorAccent"
            app:portion_spacing="4dp"
            app:portion_width="4dp"
            app:portions_count="8" />


    </RelativeLayout>

Java

Basic Usage


        CircularStatusView circularStatusView = findViewById(R.id.record_view);
        circularStatusView.setPortionsCount(statusList.size());
        circularStatusView.setPortionsColor(getResources().getColor(R.color.colorAccent););

Advanced Usage

            if (userStatus.areAllSeen()) {
                //set all portions color
                circularStatusView.setPortionsColor(seenColor);
            } else {
                for (int i = 0; i < statusList.size(); i++) {
                    Status status = statusList.get(i);
                    int color = status.isSeen() ? seenColor : notSeenColor;
                    //set specific color for every portion
                    circularStatusView.setPortionColorForIndex(i, color);
                }

            }

for more info please check the sample app

Customization

            circularStatusView.setPortionSpacing(5);//set the spacing between portions
            circularStatusView.setPortionWidth(10);//set portion width
            circularStatusView.setCustomPaint(myPaint); //create your custom paint for portions
   Copyright 2018 AbdulAlim Rajjoub

   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.

Extension points exported contracts — how you extend this code

OnStatusClickListener (Interface)
(no doc) [1 implementers]
app/src/main/java/com/devlomi/circularstatusview/sample/StatusAdapter.java

Core symbols most depended-on inside this repo

init
called by 3
circularstatusview/src/main/java/com/devlomi/circularstatusview/CircularStatusView.java
getStatusList
called by 3
app/src/main/java/com/devlomi/circularstatusview/sample/UserStatus.java
getSpacing
called by 2
circularstatusview/src/main/java/com/devlomi/circularstatusview/CircularStatusView.java
setPortionColorForIndex
called by 2
circularstatusview/src/main/java/com/devlomi/circularstatusview/CircularStatusView.java
areAllSeen
called by 2
app/src/main/java/com/devlomi/circularstatusview/sample/UserStatus.java
isSeen
called by 2
app/src/main/java/com/devlomi/circularstatusview/sample/Status.java
getPaintColorForIndex
called by 1
circularstatusview/src/main/java/com/devlomi/circularstatusview/CircularStatusView.java
getOval
called by 1
circularstatusview/src/main/java/com/devlomi/circularstatusview/CircularStatusView.java

Shape

Method 45
Class 11
Interface 1

Languages

Java100%

Modules by API surface

circularstatusview/src/main/java/com/devlomi/circularstatusview/CircularStatusView.java17 symbols
app/src/main/java/com/devlomi/circularstatusview/sample/StatusAdapter.java12 symbols
app/src/main/java/com/devlomi/circularstatusview/sample/UserStatus.java8 symbols
app/src/main/java/com/devlomi/circularstatusview/sample/DummyDataGenerator.java5 symbols
app/src/main/java/com/devlomi/circularstatusview/sample/Status.java4 symbols
app/src/main/java/com/devlomi/circularstatusview/sample/MainActivity.java3 symbols
circularstatusview/src/test/java/com/devlomi/circularstatusview/ExampleUnitTest.java2 symbols
circularstatusview/src/androidTest/java/com/devlomi/circularstatusview/ExampleInstrumentedTest.java2 symbols
app/src/test/java/com/devlomi/circularstatusview/sample/ExampleUnitTest.java2 symbols
app/src/androidTest/java/com/devlomi/circularstatusview/sample/ExampleInstrumentedTest.java2 symbols

For agents

$ claude mcp add CircularStatusView \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact