דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. אנדרואיד - כללי
  3. שיאומי
  4. שיאומי f21 pro ו +f21 pro
  5. עזרה הדדית - שיאומי f21 pro ו +f21 pro
  6. מדריך | הוספת תאריך עברי למסך הנעילה בf21 pro

מדריך | הוספת תאריך עברי למסך הנעילה בf21 pro

מתוזמן נעוץ נעול הועבר עזרה הדדית - שיאומי f21 pro ו +f21 pro
18 פוסטים 3 כותבים 109 צפיות 5 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • מ מחנה ידידים

     

    נבדק על ידי ועובד. מי שרוצה שאצור גם לf22 pro שידבר איתי.

    המדריך דורש:

    רוט - תעשו אם אין לכם
    מנהל MT - מנהל-MT-מתורגם.apk


    שלב 1: יצירת מחלקות הלוגיקה.

    בתוך MT Manager, פתח את com.android.systemui, כנס ל-classes.dex (ב-Dex Editor Plus) וצור שני קבצים בנתיב /com/android/systemui:

    1. HebrewDateHelper.smali
    קובץ זה מחשב את השקיעה לפי הנוסחה המתמטית (Sin/Cos) ומפיק את הטקסט "מוצאי שבת" או "אור ל-".

    .class public Lcom/android/systemui/HebrewDateHelper;
    .super Ljava/lang/Object;
    
    # --- מתודה ראשית לעדכון ה-TextView ---
    .method public static updateHebrewDisplay(Landroid/widget/TextView;)V
        .registers 2
        if-nez p0, :cond_3
        return-void
        :cond_3
        invoke-static {}, Lcom/android/systemui/HebrewDateHelper;->getSmartDate()Ljava/lang/String;
        move-result-object v0
        invoke-virtual {p0, v0}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
        return-void
    .end method
    
    # --- לוגיקה חכמה לבחירת הנוסח ---
    .method public static getSmartDate()Ljava/lang/String;
        .registers 4
        # בדיקה האם עכשיו לילה לפי החישוב המתמטי
        invoke-static {}, Lcom/android/systemui/HebrewDateHelper;->isAfterNightfall()Z
        move-result v0
        
        # יצירת לוח שנה עברי (ICU)
        new-instance v1, Landroid/icu/util/HebrewCalendar;
        invoke-direct {v1}, Landroid/icu/util/HebrewCalendar;-><init>()V
    
        if-eqz v0, :cond_30 # אם לילה
        
        # בדיקה אם יום שבת (7 ב-Calendar)
        const/4 v2, 0x7 
        invoke-virtual {v1, v2}, Landroid/icu/util/HebrewCalendar;->get(I)I
        move-result v3
        
        if-ne v3, v2, :cond_20
        const-string v0, "מוצאי שבת"
        return-object v0
    
        :cond_20
        # אם לילה ואינו מוצ"ש - הוסף יום (מעבר לתאריך של מחר) והוסף "אור ל-"
        const/4 v2, 0x5 # DATE
        const/4 v3, 0x1
        invoke-virtual {v1, v2, v3}, Landroid/icu/util/HebrewCalendar;->add(II)V
        
        new-instance v0, Ljava/lang/StringBuilder;
        invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
        const-string v2, "אור ל-"
        invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
        invoke-static {v1}, Lcom/android/systemui/HebrewDateHelper;->formatHebrew(Landroid/icu/util/HebrewCalendar;)Ljava/lang/String;
        move-result-object v1
        invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
        invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
        move-result-object v0
        return-object v0
    
        :cond_30 # אם יום (לפני שקיעה)
        invoke-static {v1}, Lcom/android/systemui/HebrewDateHelper;->formatHebrew(Landroid/icu/util/HebrewCalendar;)Ljava/lang/String;
        move-result-object v0
        return-object v0
    .end method
    
    # --- פורמט התאריך העברי (ICU) ---
    .method private static formatHebrew(Landroid/icu/util/HebrewCalendar;)Ljava/lang/String;
        .registers 4
        new-instance v0, Landroid/icu/util/ULocale;
        const-string v1, "he_IL@calendar=hebrew"
        invoke-direct {v0, v1}, Landroid/icu/util/ULocale;-><init>(Ljava/lang/String;)V
        
        const/4 v1, 0x0 # LONG style
        invoke-static {v1, v0}, Landroid/icu/text/DateFormat;->getDateInstance(ILandroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;
        move-result-object v0
        
        invoke-virtual {p0}, Landroid/icu/util/HebrewCalendar;->getTime()Ljava/util/Date;
        move-result-object v1
        invoke-virtual {v0, v1}, Landroid/icu/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
        move-result-object v0
        return-object v0
    .end method
    
    # --- חישוב שקיעה מתמטי (Sin/Cos) ---
    .method private static isAfterNightfall()Z
        .registers 10
        invoke-static {}, Ljava/util/Calendar;->getInstance()Ljava/util/Calendar;
        move-result-object v0
        
        # קבלת נתוני הזמן הנוכחיים
        const/4 v1, 0x6 # DAY_OF_YEAR
        invoke-virtual {v0, v1}, Ljava/util/Calendar;->get(I)I
        move-result v1
        const/16 v2, 0xb # HOUR_OF_DAY
        invoke-virtual {v0, v2}, Ljava/util/Calendar;->get(I)I
        move-result v2
        const/16 v3, 0xc # MINUTE
        invoke-virtual {v0, v3}, Ljava/util/Calendar;->get(I)I
        move-result v3
    
        # חישוב שעת שקיעה משוערת
        const-wide v4, 0x400921fb54442d18L # 2 * PI
        const-wide/high16 v6, 0x4000000000000000L # 2.0
        mul-double/2addr v4, v6
        add-int/lit8 v6, v1, -0x50
        int-to-double v6, v6
        mul-double/2addr v4, v6
        const-wide v6, 0x4076d00000000000L # 365.0
        div-double/2addr v4, v6
        invoke-static {v4, v5}, Ljava/lang/Math;->sin(D)D
        move-result-wide v4
        
        const-wide v6, 0x3ff0cccccccccccdL # 1.05
        mul-double/2addr v4, v6
        const-wide v6, 0x403247ae147ae148L # 18.28 (שעה בסיסית לשקיעה)
        add-double/2addr v4, v6
    
        # בדיקת שעון קיץ ועדכון השעה
        invoke-virtual {v0}, Ljava/util/Calendar;->getTimeZone()Ljava/util/TimeZone;
        move-result-object v6
        invoke-virtual {v0}, Ljava/util/Calendar;->getTime()Ljava/util/Date;
        move-result-object v0
        invoke-virtual {v6, v0}, Ljava/util/TimeZone;->inDaylightTime(Ljava/util/Date;)Z
        move-result v0
        if-eqz v0, :cond_52
        const-wide/high16 v6, 0x3ff0000000000000L # +1.0
        add-double/2addr v4, v6
    
        :cond_52
        # המרת התוצאה לשעות ודקות
        double-to-int v0, v4 # שעת שקיעה
        int-to-double v6, v0
        sub-double/2addr v4, v6
        const-wide v6, 0x404e000000000000L # 60.0
        mul-double/2addr v4, v6
        double-to-int v4, v4 # דקות שקיעה
    
        # השוואה לזמן אמת
        const/4 v5, 0x1
        if-le v2, v0, :cond_62
        return v5
        :cond_62
        if-ne v2, v0, :cond_67
        if-lt v3, v4, :cond_67
        return v5
        :cond_67
        const/4 v0, 0x0
        return v0
    .end method
    

    מי שרוצה ללא הצגת היום שייקח את הקוד שבספויילר:

    .class public Lcom/android/systemui/HebrewDateHelper;
    .super Ljava/lang/Object;
    
    # --- מתודה ראשית לעדכון ה-TextView ---
    .method public static updateHebrewDisplay(Landroid/widget/TextView;)V
        .registers 2
        if-nez p0, :cond_3
        return-void
        :cond_3
        invoke-static {}, Lcom/android/systemui/HebrewDateHelper;->getSmartDate()Ljava/lang/String;
        move-result-object v0
        invoke-virtual {p0, v0}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
        return-void
    .end method
    
    # --- לוגיקה חכמה לבחירת הנוסח (יום/לילה/מוצ"ש) ---
    .method public static getSmartDate()Ljava/lang/String;
        .registers 4
        invoke-static {}, Lcom/android/systemui/HebrewDateHelper;->isAfterNightfall()Z
        move-result v0
        
        new-instance v1, Landroid/icu/util/HebrewCalendar;
        invoke-direct {v1}, Landroid/icu/util/HebrewCalendar;-><init>()V
    
        if-eqz v0, :cond_30 # אם לילה (אחרי שקיעה)
        
        const/4 v2, 0x7 # יום שבת ב-Calendar
        invoke-virtual {v1, v2}, Landroid/icu/util/HebrewCalendar;->get(I)I
        move-result v3
        
        if-ne v3, v2, :cond_20
        const-string v0, "מוצאי שבת"
        return-object v0
    
        :cond_20
        # אם לילה ואינו מוצ"ש - הוספת יום והוספת "אור ל-"
        const/4 v2, 0x5 # DATE
        const/4 v3, 0x1
        invoke-virtual {v1, v2, v3}, Landroid/icu/util/HebrewCalendar;->add(II)V
        
        new-instance v0, Ljava/lang/StringBuilder;
        invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
        const-string v2, "אור ל-"
        invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
        invoke-static {v1}, Lcom/android/systemui/HebrewDateHelper;->formatHebrew(Landroid/icu/util/HebrewCalendar;)Ljava/lang/String;
        move-result-object v1
        invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
        invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
        move-result-object v0
        return-object v0
    
        :cond_30 # אם יום (לפני שקיעה)
        invoke-static {v1}, Lcom/android/systemui/HebrewDateHelper;->formatHebrew(Landroid/icu/util/HebrewCalendar;)Ljava/lang/String;
        move-result-object v0
        return-object v0
    .end method
    
    # --- פורמט התאריך העברי ללא יום בשבוע (MEDIUM style) ---
    .method private static formatHebrew(Landroid/icu/util/HebrewCalendar;)Ljava/lang/String;
        .registers 4
        new-instance v0, Landroid/icu/util/ULocale;
        const-string v1, "he_IL@calendar=hebrew"
        invoke-direct {v0, v1}, Landroid/icu/util/ULocale;-><init>(Ljava/lang/String;)V
        
        # ערך 2 מייצג MEDIUM (תאריך בלבד) במקום 0 (LONG - הכולל יום)
        const/4 v1, 0x2 
        invoke-static {v1, v0}, Landroid/icu/text/DateFormat;->getDateInstance(ILandroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;
        move-result-object v0
        
        invoke-virtual {p0}, Landroid/icu/util/HebrewCalendar;->getTime()Ljava/util/Date;
        move-result-object v1
        invoke-virtual {v0, v1}, Landroid/icu/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
        move-result-object v0
        return-object v0
    .end method
    
    # --- חישוב שקיעה מתמטי משוער ---
    .method private static isAfterNightfall()Z
        .registers 10
        invoke-static {}, Ljava/util/Calendar;->getInstance()Ljava/util/Calendar;
        move-result-object v0
        
        const/4 v1, 0x6 # DAY_OF_YEAR
        invoke-virtual {v0, v1}, Ljava/util/Calendar;->get(I)I
        move-result v1
        const/16 v2, 0xb # HOUR_OF_DAY
        invoke-virtual {v0, v2}, Ljava/util/Calendar;->get(I)I
        move-result v2
        const/16 v3, 0xc # MINUTE
        invoke-virtual {v0, v3}, Ljava/util/Calendar;->get(I)I
        move-result v3
    
        # חישוב גלי סינוס לקירוב שעת שקיעה לאורך השנה
        const-wide v4, 0x400921fb54442d18L # 2 * PI
        const-wide/high16 v6, 0x4000000000000000L # 2.0
        mul-double/2addr v4, v6
        add-int/lit8 v6, v1, -0x50
        int-to-double v6, v6
        mul-double/2addr v4, v6
        const-wide v6, 0x4076d00000000000L # 365.0
        div-double/2addr v4, v6
        invoke-static {v4, v5}, Ljava/lang/Math;->sin(D)D
        move-result-wide v4
        
        const-wide v6, 0x3ff0cccccccccccdL # 1.05
        mul-double/2addr v4, v6
        const-wide v6, 0x403247ae147ae148L # 18.28 (שעה בסיסית לשקיעה)
        add-double/2addr v4, v6
    
        # בדיקת שעון קיץ
        invoke-virtual {v0}, Ljava/util/Calendar;->getTimeZone()Ljava/util/TimeZone;
        move-result-object v6
        invoke-virtual {v0}, Ljava/util/Calendar;->getTime()Ljava/util/Date;
        move-result-object v0
        invoke-virtual {v6, v0}, Ljava/util/TimeZone;->inDaylightTime(Ljava/util/Date;)Z
        move-result v0
        if-eqz v0, :cond_52
        const-wide/high16 v6, 0x3ff0000000000000L # +1.0
        add-double/2addr v4, v6
    
        :cond_52
        double-to-int v0, v4 # שעות
        int-to-double v6, v0
        sub-double/2addr v4, v6
        const-wide v6, 0x404e000000000000L # 60.0
        mul-double/2addr v4, v6
        double-to-int v4, v4 # דקות
    
        const/4 v5, 0x1
        if-le v2, v0, :cond_62
        return v5
        :cond_62
        if-ne v2, v0, :cond_67
        if-lt v3, v4, :cond_67
        return v5
        :cond_67
        const/4 v0, 0x0
        return v0
    .end method
    

     

    2. HebrewDateReceiver.smali
    קובץ זה "מקשיב" למערכת ומעדכן את התצוגה.

    .class public Lcom/android/systemui/HebrewDateReceiver;
    .super Landroid/content/BroadcastReceiver;
    .field private mView:Landroid/widget/TextView;
    
    .method public constructor <init>(Landroid/widget/TextView;)V
        .registers 2
        invoke-direct {p0}, Landroid/content/BroadcastReceiver;-><init>()V
        iput-object p1, p0, Lcom/android/systemui/HebrewDateReceiver;->mView:Landroid/widget/TextView;
        return-void
    .end method
    
    .method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
        .registers 4
        iget-object v0, p0, Lcom/android/systemui/HebrewDateReceiver;->mView:Landroid/widget/TextView;
        invoke-static {v0}, Lcom/android/systemui/HebrewDateHelper;->updateHebrewDisplay(Landroid/widget/TextView;)V
        return-void
    .end method
    

    שלב 2: הגדרת התצוגה

    1. הוספת מזהה (ID):   כנס ל-resources.arsc -> Arsc Editor -> com.android.systemui > id

    2. כעת תראה רשימה ארוכה של שמות. לחץ על כפתור התפריט (3 נקודות) ובחר Add.

    3. בתיבה שנפתחת, בשדה Name, רשום בדיוק: hebrew_date_display.

    4. לחץ על אישור. יינתן ל id מספר (Hex) באופן אוטומטי. העתק את המספר הזה!
      (הוא נראה בערך ככה: 0x7f0a0123).

    5. צא חזרה ולחץ על Save כדי לשמור את השינויים בקובץ ה-arsc.

    6. הוספת האלמנט: בנתיב /res/layout, פתח את הקובץ האחראי על מסך הנעילה (keyguard_status_view.xml) והוסף:

      <TextView 
          android:id="@id/hebrew_date_display" 
          android:layout_width="match_parent" 
          android:layout_height="wrap_content" 
          android:gravity="center"
          android:layout_gravity="center_horizontal"
          android:textColor="#FFFFFF" 
          android:textSize="16sp" 
          android:layout_marginTop="4dp" />
      

    שלב 3: הזרקת הרישום לעדכון בשקיעה.

    כדי שהתאריך יבדוק כל דקה אם הגיעה השקיעה, נזריק את ה-Receiver לתוך המחלקה של מסך הנעילה (KeyguardStatusView.smali) בתוך המתודה onAttachedToWindow:

    שימו לב לעדכן את ה- ID!

    # 1. מציאת ה-View (החלף את ה-ID בערך ה-Hex ש-MT נותן לך)
    const v0, 0x7fXXXXXX 
    invoke-virtual {p0, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
    move-result-object v0
    check-cast v0, Landroid/widget/TextView;
    
    # 2. יצירת ה-Receiver והפילטר
    new-instance v1, Lcom/android/systemui/HebrewDateReceiver;
    invoke-direct {v1, v0}, Lcom/android/systemui/HebrewDateReceiver;-><init>(Landroid/widget/TextView;)V
    new-instance v2, Landroid/content/IntentFilter;
    invoke-direct {v2}, Landroid/content/IntentFilter;-><init>()V
    
    # 3. הוספת הפעולות (כולל TICK לעדכון בשקיעה)
    const-string v3, "android.intent.action.TIME_TICK" # עדכון כל דקה לבדיקת שקיעה
    invoke-virtual {v2, v3}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
    const-string v3, "android.intent.action.DATE_CHANGED"
    invoke-virtual {v2, v3}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
    
    # 4. רישום בפועל
    invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
    move-result-object v3
    invoke-virtual {v3, v1, v2}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
    
    # 5. עדכון מיידי ראשוני
    invoke-static {v0}, Lcom/android/systemui/HebrewDateHelper;->updateHebrewDisplay(Landroid/widget/TextView;)V
    

    שלב 4: סיום.

    1. שמור הכל: צא מ-Dex Editor Plus ושמור שינויים.
    2. עדכון: MT Manager יבקש לעדכן את ה-APK. לחץ אישור ואל תסמן את "חתימה אוטומטית"!

     

    איני לוקח אחריות על שום נזק שיהיה כתוצאה ממדריך זה.

    בהצלחה!

    מ מחובר
    מ מחובר
    מחנה ידידים
    כתב נערך לאחרונה על ידי מחנה ידידים
    #2

    צילומסך -

    IMG_20260510_082824_398.jpg

    אפשר גם לעשות ללא הצגת היום. מי שרוצה שיבקש.

    שניאור שמחש תגובה 1 תגובה אחרונה
    1
    • מ מחנה ידידים

       

      נבדק על ידי ועובד. מי שרוצה שאצור גם לf22 pro שידבר איתי.

      המדריך דורש:

      רוט - תעשו אם אין לכם
      מנהל MT - מנהל-MT-מתורגם.apk


      שלב 1: יצירת מחלקות הלוגיקה.

      בתוך MT Manager, פתח את com.android.systemui, כנס ל-classes.dex (ב-Dex Editor Plus) וצור שני קבצים בנתיב /com/android/systemui:

      1. HebrewDateHelper.smali
      קובץ זה מחשב את השקיעה לפי הנוסחה המתמטית (Sin/Cos) ומפיק את הטקסט "מוצאי שבת" או "אור ל-".

      .class public Lcom/android/systemui/HebrewDateHelper;
      .super Ljava/lang/Object;
      
      # --- מתודה ראשית לעדכון ה-TextView ---
      .method public static updateHebrewDisplay(Landroid/widget/TextView;)V
          .registers 2
          if-nez p0, :cond_3
          return-void
          :cond_3
          invoke-static {}, Lcom/android/systemui/HebrewDateHelper;->getSmartDate()Ljava/lang/String;
          move-result-object v0
          invoke-virtual {p0, v0}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
          return-void
      .end method
      
      # --- לוגיקה חכמה לבחירת הנוסח ---
      .method public static getSmartDate()Ljava/lang/String;
          .registers 4
          # בדיקה האם עכשיו לילה לפי החישוב המתמטי
          invoke-static {}, Lcom/android/systemui/HebrewDateHelper;->isAfterNightfall()Z
          move-result v0
          
          # יצירת לוח שנה עברי (ICU)
          new-instance v1, Landroid/icu/util/HebrewCalendar;
          invoke-direct {v1}, Landroid/icu/util/HebrewCalendar;-><init>()V
      
          if-eqz v0, :cond_30 # אם לילה
          
          # בדיקה אם יום שבת (7 ב-Calendar)
          const/4 v2, 0x7 
          invoke-virtual {v1, v2}, Landroid/icu/util/HebrewCalendar;->get(I)I
          move-result v3
          
          if-ne v3, v2, :cond_20
          const-string v0, "מוצאי שבת"
          return-object v0
      
          :cond_20
          # אם לילה ואינו מוצ"ש - הוסף יום (מעבר לתאריך של מחר) והוסף "אור ל-"
          const/4 v2, 0x5 # DATE
          const/4 v3, 0x1
          invoke-virtual {v1, v2, v3}, Landroid/icu/util/HebrewCalendar;->add(II)V
          
          new-instance v0, Ljava/lang/StringBuilder;
          invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
          const-string v2, "אור ל-"
          invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
          invoke-static {v1}, Lcom/android/systemui/HebrewDateHelper;->formatHebrew(Landroid/icu/util/HebrewCalendar;)Ljava/lang/String;
          move-result-object v1
          invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
          invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
          move-result-object v0
          return-object v0
      
          :cond_30 # אם יום (לפני שקיעה)
          invoke-static {v1}, Lcom/android/systemui/HebrewDateHelper;->formatHebrew(Landroid/icu/util/HebrewCalendar;)Ljava/lang/String;
          move-result-object v0
          return-object v0
      .end method
      
      # --- פורמט התאריך העברי (ICU) ---
      .method private static formatHebrew(Landroid/icu/util/HebrewCalendar;)Ljava/lang/String;
          .registers 4
          new-instance v0, Landroid/icu/util/ULocale;
          const-string v1, "he_IL@calendar=hebrew"
          invoke-direct {v0, v1}, Landroid/icu/util/ULocale;-><init>(Ljava/lang/String;)V
          
          const/4 v1, 0x0 # LONG style
          invoke-static {v1, v0}, Landroid/icu/text/DateFormat;->getDateInstance(ILandroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;
          move-result-object v0
          
          invoke-virtual {p0}, Landroid/icu/util/HebrewCalendar;->getTime()Ljava/util/Date;
          move-result-object v1
          invoke-virtual {v0, v1}, Landroid/icu/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
          move-result-object v0
          return-object v0
      .end method
      
      # --- חישוב שקיעה מתמטי (Sin/Cos) ---
      .method private static isAfterNightfall()Z
          .registers 10
          invoke-static {}, Ljava/util/Calendar;->getInstance()Ljava/util/Calendar;
          move-result-object v0
          
          # קבלת נתוני הזמן הנוכחיים
          const/4 v1, 0x6 # DAY_OF_YEAR
          invoke-virtual {v0, v1}, Ljava/util/Calendar;->get(I)I
          move-result v1
          const/16 v2, 0xb # HOUR_OF_DAY
          invoke-virtual {v0, v2}, Ljava/util/Calendar;->get(I)I
          move-result v2
          const/16 v3, 0xc # MINUTE
          invoke-virtual {v0, v3}, Ljava/util/Calendar;->get(I)I
          move-result v3
      
          # חישוב שעת שקיעה משוערת
          const-wide v4, 0x400921fb54442d18L # 2 * PI
          const-wide/high16 v6, 0x4000000000000000L # 2.0
          mul-double/2addr v4, v6
          add-int/lit8 v6, v1, -0x50
          int-to-double v6, v6
          mul-double/2addr v4, v6
          const-wide v6, 0x4076d00000000000L # 365.0
          div-double/2addr v4, v6
          invoke-static {v4, v5}, Ljava/lang/Math;->sin(D)D
          move-result-wide v4
          
          const-wide v6, 0x3ff0cccccccccccdL # 1.05
          mul-double/2addr v4, v6
          const-wide v6, 0x403247ae147ae148L # 18.28 (שעה בסיסית לשקיעה)
          add-double/2addr v4, v6
      
          # בדיקת שעון קיץ ועדכון השעה
          invoke-virtual {v0}, Ljava/util/Calendar;->getTimeZone()Ljava/util/TimeZone;
          move-result-object v6
          invoke-virtual {v0}, Ljava/util/Calendar;->getTime()Ljava/util/Date;
          move-result-object v0
          invoke-virtual {v6, v0}, Ljava/util/TimeZone;->inDaylightTime(Ljava/util/Date;)Z
          move-result v0
          if-eqz v0, :cond_52
          const-wide/high16 v6, 0x3ff0000000000000L # +1.0
          add-double/2addr v4, v6
      
          :cond_52
          # המרת התוצאה לשעות ודקות
          double-to-int v0, v4 # שעת שקיעה
          int-to-double v6, v0
          sub-double/2addr v4, v6
          const-wide v6, 0x404e000000000000L # 60.0
          mul-double/2addr v4, v6
          double-to-int v4, v4 # דקות שקיעה
      
          # השוואה לזמן אמת
          const/4 v5, 0x1
          if-le v2, v0, :cond_62
          return v5
          :cond_62
          if-ne v2, v0, :cond_67
          if-lt v3, v4, :cond_67
          return v5
          :cond_67
          const/4 v0, 0x0
          return v0
      .end method
      

      מי שרוצה ללא הצגת היום שייקח את הקוד שבספויילר:

      .class public Lcom/android/systemui/HebrewDateHelper;
      .super Ljava/lang/Object;
      
      # --- מתודה ראשית לעדכון ה-TextView ---
      .method public static updateHebrewDisplay(Landroid/widget/TextView;)V
          .registers 2
          if-nez p0, :cond_3
          return-void
          :cond_3
          invoke-static {}, Lcom/android/systemui/HebrewDateHelper;->getSmartDate()Ljava/lang/String;
          move-result-object v0
          invoke-virtual {p0, v0}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
          return-void
      .end method
      
      # --- לוגיקה חכמה לבחירת הנוסח (יום/לילה/מוצ"ש) ---
      .method public static getSmartDate()Ljava/lang/String;
          .registers 4
          invoke-static {}, Lcom/android/systemui/HebrewDateHelper;->isAfterNightfall()Z
          move-result v0
          
          new-instance v1, Landroid/icu/util/HebrewCalendar;
          invoke-direct {v1}, Landroid/icu/util/HebrewCalendar;-><init>()V
      
          if-eqz v0, :cond_30 # אם לילה (אחרי שקיעה)
          
          const/4 v2, 0x7 # יום שבת ב-Calendar
          invoke-virtual {v1, v2}, Landroid/icu/util/HebrewCalendar;->get(I)I
          move-result v3
          
          if-ne v3, v2, :cond_20
          const-string v0, "מוצאי שבת"
          return-object v0
      
          :cond_20
          # אם לילה ואינו מוצ"ש - הוספת יום והוספת "אור ל-"
          const/4 v2, 0x5 # DATE
          const/4 v3, 0x1
          invoke-virtual {v1, v2, v3}, Landroid/icu/util/HebrewCalendar;->add(II)V
          
          new-instance v0, Ljava/lang/StringBuilder;
          invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
          const-string v2, "אור ל-"
          invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
          invoke-static {v1}, Lcom/android/systemui/HebrewDateHelper;->formatHebrew(Landroid/icu/util/HebrewCalendar;)Ljava/lang/String;
          move-result-object v1
          invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
          invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
          move-result-object v0
          return-object v0
      
          :cond_30 # אם יום (לפני שקיעה)
          invoke-static {v1}, Lcom/android/systemui/HebrewDateHelper;->formatHebrew(Landroid/icu/util/HebrewCalendar;)Ljava/lang/String;
          move-result-object v0
          return-object v0
      .end method
      
      # --- פורמט התאריך העברי ללא יום בשבוע (MEDIUM style) ---
      .method private static formatHebrew(Landroid/icu/util/HebrewCalendar;)Ljava/lang/String;
          .registers 4
          new-instance v0, Landroid/icu/util/ULocale;
          const-string v1, "he_IL@calendar=hebrew"
          invoke-direct {v0, v1}, Landroid/icu/util/ULocale;-><init>(Ljava/lang/String;)V
          
          # ערך 2 מייצג MEDIUM (תאריך בלבד) במקום 0 (LONG - הכולל יום)
          const/4 v1, 0x2 
          invoke-static {v1, v0}, Landroid/icu/text/DateFormat;->getDateInstance(ILandroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;
          move-result-object v0
          
          invoke-virtual {p0}, Landroid/icu/util/HebrewCalendar;->getTime()Ljava/util/Date;
          move-result-object v1
          invoke-virtual {v0, v1}, Landroid/icu/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
          move-result-object v0
          return-object v0
      .end method
      
      # --- חישוב שקיעה מתמטי משוער ---
      .method private static isAfterNightfall()Z
          .registers 10
          invoke-static {}, Ljava/util/Calendar;->getInstance()Ljava/util/Calendar;
          move-result-object v0
          
          const/4 v1, 0x6 # DAY_OF_YEAR
          invoke-virtual {v0, v1}, Ljava/util/Calendar;->get(I)I
          move-result v1
          const/16 v2, 0xb # HOUR_OF_DAY
          invoke-virtual {v0, v2}, Ljava/util/Calendar;->get(I)I
          move-result v2
          const/16 v3, 0xc # MINUTE
          invoke-virtual {v0, v3}, Ljava/util/Calendar;->get(I)I
          move-result v3
      
          # חישוב גלי סינוס לקירוב שעת שקיעה לאורך השנה
          const-wide v4, 0x400921fb54442d18L # 2 * PI
          const-wide/high16 v6, 0x4000000000000000L # 2.0
          mul-double/2addr v4, v6
          add-int/lit8 v6, v1, -0x50
          int-to-double v6, v6
          mul-double/2addr v4, v6
          const-wide v6, 0x4076d00000000000L # 365.0
          div-double/2addr v4, v6
          invoke-static {v4, v5}, Ljava/lang/Math;->sin(D)D
          move-result-wide v4
          
          const-wide v6, 0x3ff0cccccccccccdL # 1.05
          mul-double/2addr v4, v6
          const-wide v6, 0x403247ae147ae148L # 18.28 (שעה בסיסית לשקיעה)
          add-double/2addr v4, v6
      
          # בדיקת שעון קיץ
          invoke-virtual {v0}, Ljava/util/Calendar;->getTimeZone()Ljava/util/TimeZone;
          move-result-object v6
          invoke-virtual {v0}, Ljava/util/Calendar;->getTime()Ljava/util/Date;
          move-result-object v0
          invoke-virtual {v6, v0}, Ljava/util/TimeZone;->inDaylightTime(Ljava/util/Date;)Z
          move-result v0
          if-eqz v0, :cond_52
          const-wide/high16 v6, 0x3ff0000000000000L # +1.0
          add-double/2addr v4, v6
      
          :cond_52
          double-to-int v0, v4 # שעות
          int-to-double v6, v0
          sub-double/2addr v4, v6
          const-wide v6, 0x404e000000000000L # 60.0
          mul-double/2addr v4, v6
          double-to-int v4, v4 # דקות
      
          const/4 v5, 0x1
          if-le v2, v0, :cond_62
          return v5
          :cond_62
          if-ne v2, v0, :cond_67
          if-lt v3, v4, :cond_67
          return v5
          :cond_67
          const/4 v0, 0x0
          return v0
      .end method
      

       

      2. HebrewDateReceiver.smali
      קובץ זה "מקשיב" למערכת ומעדכן את התצוגה.

      .class public Lcom/android/systemui/HebrewDateReceiver;
      .super Landroid/content/BroadcastReceiver;
      .field private mView:Landroid/widget/TextView;
      
      .method public constructor <init>(Landroid/widget/TextView;)V
          .registers 2
          invoke-direct {p0}, Landroid/content/BroadcastReceiver;-><init>()V
          iput-object p1, p0, Lcom/android/systemui/HebrewDateReceiver;->mView:Landroid/widget/TextView;
          return-void
      .end method
      
      .method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
          .registers 4
          iget-object v0, p0, Lcom/android/systemui/HebrewDateReceiver;->mView:Landroid/widget/TextView;
          invoke-static {v0}, Lcom/android/systemui/HebrewDateHelper;->updateHebrewDisplay(Landroid/widget/TextView;)V
          return-void
      .end method
      

      שלב 2: הגדרת התצוגה

      1. הוספת מזהה (ID):   כנס ל-resources.arsc -> Arsc Editor -> com.android.systemui > id

      2. כעת תראה רשימה ארוכה של שמות. לחץ על כפתור התפריט (3 נקודות) ובחר Add.

      3. בתיבה שנפתחת, בשדה Name, רשום בדיוק: hebrew_date_display.

      4. לחץ על אישור. יינתן ל id מספר (Hex) באופן אוטומטי. העתק את המספר הזה!
        (הוא נראה בערך ככה: 0x7f0a0123).

      5. צא חזרה ולחץ על Save כדי לשמור את השינויים בקובץ ה-arsc.

      6. הוספת האלמנט: בנתיב /res/layout, פתח את הקובץ האחראי על מסך הנעילה (keyguard_status_view.xml) והוסף:

        <TextView 
            android:id="@id/hebrew_date_display" 
            android:layout_width="match_parent" 
            android:layout_height="wrap_content" 
            android:gravity="center"
            android:layout_gravity="center_horizontal"
            android:textColor="#FFFFFF" 
            android:textSize="16sp" 
            android:layout_marginTop="4dp" />
        

      שלב 3: הזרקת הרישום לעדכון בשקיעה.

      כדי שהתאריך יבדוק כל דקה אם הגיעה השקיעה, נזריק את ה-Receiver לתוך המחלקה של מסך הנעילה (KeyguardStatusView.smali) בתוך המתודה onAttachedToWindow:

      שימו לב לעדכן את ה- ID!

      # 1. מציאת ה-View (החלף את ה-ID בערך ה-Hex ש-MT נותן לך)
      const v0, 0x7fXXXXXX 
      invoke-virtual {p0, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
      move-result-object v0
      check-cast v0, Landroid/widget/TextView;
      
      # 2. יצירת ה-Receiver והפילטר
      new-instance v1, Lcom/android/systemui/HebrewDateReceiver;
      invoke-direct {v1, v0}, Lcom/android/systemui/HebrewDateReceiver;-><init>(Landroid/widget/TextView;)V
      new-instance v2, Landroid/content/IntentFilter;
      invoke-direct {v2}, Landroid/content/IntentFilter;-><init>()V
      
      # 3. הוספת הפעולות (כולל TICK לעדכון בשקיעה)
      const-string v3, "android.intent.action.TIME_TICK" # עדכון כל דקה לבדיקת שקיעה
      invoke-virtual {v2, v3}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
      const-string v3, "android.intent.action.DATE_CHANGED"
      invoke-virtual {v2, v3}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
      
      # 4. רישום בפועל
      invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
      move-result-object v3
      invoke-virtual {v3, v1, v2}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
      
      # 5. עדכון מיידי ראשוני
      invoke-static {v0}, Lcom/android/systemui/HebrewDateHelper;->updateHebrewDisplay(Landroid/widget/TextView;)V
      

      שלב 4: סיום.

      1. שמור הכל: צא מ-Dex Editor Plus ושמור שינויים.
      2. עדכון: MT Manager יבקש לעדכן את ה-APK. לחץ אישור ואל תסמן את "חתימה אוטומטית"!

       

      איני לוקח אחריות על שום נזק שיהיה כתוצאה ממדריך זה.

      בהצלחה!

      שניאור שמחש מחובר
      שניאור שמחש מחובר
      שניאור שמח
      מדריכים עימוד
      כתב נערך לאחרונה על ידי
      #3

      @מחנה-ידידים אפשר צילום מסך של התוצאה?

      "אם לא תנסה, איך תדע?"

      מ תגובה 1 תגובה אחרונה
      0
      • שניאור שמחש שניאור שמח

        @מחנה-ידידים אפשר צילום מסך של התוצאה?

        מ מחובר
        מ מחובר
        מחנה ידידים
        כתב נערך לאחרונה על ידי מחנה ידידים
        #4
        פוסט זה נמחק!
        שניאור שמחש תגובה 1 תגובה אחרונה
        0
        • מ מחנה ידידים

          פוסט זה נמחק!

          שניאור שמחש מחובר
          שניאור שמחש מחובר
          שניאור שמח
          מדריכים עימוד
          כתב נערך לאחרונה על ידי
          #5

          @מחנה-ידידים כתב במדריך | הוספת תאריך עברי למסך הנעילה בf21 pro:

          @שניאור-שמח

          עדכנתי בפוסט:)

          ולמה למען ה' מישהו שם לי דיסלייק?
          ef6942b5-a3e2-4dfd-b81f-999a6bcb4b24-image.png
          @צוות-פיקוח אשמח לבירור

          כבר אין

          "אם לא תנסה, איך תדע?"

          תגובה 1 תגובה אחרונה
          1
          • מ מחנה ידידים

            צילומסך -

            IMG_20260510_082824_398.jpg

            אפשר גם לעשות ללא הצגת היום. מי שרוצה שיבקש.

            שניאור שמחש מחובר
            שניאור שמחש מחובר
            שניאור שמח
            מדריכים עימוד
            כתב נערך לאחרונה על ידי
            #6

            @מחנה-ידידים כתב במדריך | הוספת תאריך עברי למסך הנעילה בf21 pro:

            אפשר גם לעשות ללא הצגת היום. מי שרוצה שיבקש.

            נשמח..

            "אם לא תנסה, איך תדע?"

            מ תגובה 1 תגובה אחרונה
            0
            • שניאור שמחש שניאור שמח

              @מחנה-ידידים כתב במדריך | הוספת תאריך עברי למסך הנעילה בf21 pro:

              אפשר גם לעשות ללא הצגת היום. מי שרוצה שיבקש.

              נשמח..

              מ מחובר
              מ מחובר
              מחנה ידידים
              כתב נערך לאחרונה על ידי מחנה ידידים
              #7

              @שניאור-שמח אתה מבקש? תתן ל Ai שישנה לך! התכוונתי לכאלו שלא יודעים 😂

              שניאור שמחש תגובה 1 תגובה אחרונה
              0
              • מ מחנה ידידים

                 

                נבדק על ידי ועובד. מי שרוצה שאצור גם לf22 pro שידבר איתי.

                המדריך דורש:

                רוט - תעשו אם אין לכם
                מנהל MT - מנהל-MT-מתורגם.apk


                שלב 1: יצירת מחלקות הלוגיקה.

                בתוך MT Manager, פתח את com.android.systemui, כנס ל-classes.dex (ב-Dex Editor Plus) וצור שני קבצים בנתיב /com/android/systemui:

                1. HebrewDateHelper.smali
                קובץ זה מחשב את השקיעה לפי הנוסחה המתמטית (Sin/Cos) ומפיק את הטקסט "מוצאי שבת" או "אור ל-".

                .class public Lcom/android/systemui/HebrewDateHelper;
                .super Ljava/lang/Object;
                
                # --- מתודה ראשית לעדכון ה-TextView ---
                .method public static updateHebrewDisplay(Landroid/widget/TextView;)V
                    .registers 2
                    if-nez p0, :cond_3
                    return-void
                    :cond_3
                    invoke-static {}, Lcom/android/systemui/HebrewDateHelper;->getSmartDate()Ljava/lang/String;
                    move-result-object v0
                    invoke-virtual {p0, v0}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
                    return-void
                .end method
                
                # --- לוגיקה חכמה לבחירת הנוסח ---
                .method public static getSmartDate()Ljava/lang/String;
                    .registers 4
                    # בדיקה האם עכשיו לילה לפי החישוב המתמטי
                    invoke-static {}, Lcom/android/systemui/HebrewDateHelper;->isAfterNightfall()Z
                    move-result v0
                    
                    # יצירת לוח שנה עברי (ICU)
                    new-instance v1, Landroid/icu/util/HebrewCalendar;
                    invoke-direct {v1}, Landroid/icu/util/HebrewCalendar;-><init>()V
                
                    if-eqz v0, :cond_30 # אם לילה
                    
                    # בדיקה אם יום שבת (7 ב-Calendar)
                    const/4 v2, 0x7 
                    invoke-virtual {v1, v2}, Landroid/icu/util/HebrewCalendar;->get(I)I
                    move-result v3
                    
                    if-ne v3, v2, :cond_20
                    const-string v0, "מוצאי שבת"
                    return-object v0
                
                    :cond_20
                    # אם לילה ואינו מוצ"ש - הוסף יום (מעבר לתאריך של מחר) והוסף "אור ל-"
                    const/4 v2, 0x5 # DATE
                    const/4 v3, 0x1
                    invoke-virtual {v1, v2, v3}, Landroid/icu/util/HebrewCalendar;->add(II)V
                    
                    new-instance v0, Ljava/lang/StringBuilder;
                    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
                    const-string v2, "אור ל-"
                    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                    invoke-static {v1}, Lcom/android/systemui/HebrewDateHelper;->formatHebrew(Landroid/icu/util/HebrewCalendar;)Ljava/lang/String;
                    move-result-object v1
                    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
                    move-result-object v0
                    return-object v0
                
                    :cond_30 # אם יום (לפני שקיעה)
                    invoke-static {v1}, Lcom/android/systemui/HebrewDateHelper;->formatHebrew(Landroid/icu/util/HebrewCalendar;)Ljava/lang/String;
                    move-result-object v0
                    return-object v0
                .end method
                
                # --- פורמט התאריך העברי (ICU) ---
                .method private static formatHebrew(Landroid/icu/util/HebrewCalendar;)Ljava/lang/String;
                    .registers 4
                    new-instance v0, Landroid/icu/util/ULocale;
                    const-string v1, "he_IL@calendar=hebrew"
                    invoke-direct {v0, v1}, Landroid/icu/util/ULocale;-><init>(Ljava/lang/String;)V
                    
                    const/4 v1, 0x0 # LONG style
                    invoke-static {v1, v0}, Landroid/icu/text/DateFormat;->getDateInstance(ILandroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;
                    move-result-object v0
                    
                    invoke-virtual {p0}, Landroid/icu/util/HebrewCalendar;->getTime()Ljava/util/Date;
                    move-result-object v1
                    invoke-virtual {v0, v1}, Landroid/icu/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
                    move-result-object v0
                    return-object v0
                .end method
                
                # --- חישוב שקיעה מתמטי (Sin/Cos) ---
                .method private static isAfterNightfall()Z
                    .registers 10
                    invoke-static {}, Ljava/util/Calendar;->getInstance()Ljava/util/Calendar;
                    move-result-object v0
                    
                    # קבלת נתוני הזמן הנוכחיים
                    const/4 v1, 0x6 # DAY_OF_YEAR
                    invoke-virtual {v0, v1}, Ljava/util/Calendar;->get(I)I
                    move-result v1
                    const/16 v2, 0xb # HOUR_OF_DAY
                    invoke-virtual {v0, v2}, Ljava/util/Calendar;->get(I)I
                    move-result v2
                    const/16 v3, 0xc # MINUTE
                    invoke-virtual {v0, v3}, Ljava/util/Calendar;->get(I)I
                    move-result v3
                
                    # חישוב שעת שקיעה משוערת
                    const-wide v4, 0x400921fb54442d18L # 2 * PI
                    const-wide/high16 v6, 0x4000000000000000L # 2.0
                    mul-double/2addr v4, v6
                    add-int/lit8 v6, v1, -0x50
                    int-to-double v6, v6
                    mul-double/2addr v4, v6
                    const-wide v6, 0x4076d00000000000L # 365.0
                    div-double/2addr v4, v6
                    invoke-static {v4, v5}, Ljava/lang/Math;->sin(D)D
                    move-result-wide v4
                    
                    const-wide v6, 0x3ff0cccccccccccdL # 1.05
                    mul-double/2addr v4, v6
                    const-wide v6, 0x403247ae147ae148L # 18.28 (שעה בסיסית לשקיעה)
                    add-double/2addr v4, v6
                
                    # בדיקת שעון קיץ ועדכון השעה
                    invoke-virtual {v0}, Ljava/util/Calendar;->getTimeZone()Ljava/util/TimeZone;
                    move-result-object v6
                    invoke-virtual {v0}, Ljava/util/Calendar;->getTime()Ljava/util/Date;
                    move-result-object v0
                    invoke-virtual {v6, v0}, Ljava/util/TimeZone;->inDaylightTime(Ljava/util/Date;)Z
                    move-result v0
                    if-eqz v0, :cond_52
                    const-wide/high16 v6, 0x3ff0000000000000L # +1.0
                    add-double/2addr v4, v6
                
                    :cond_52
                    # המרת התוצאה לשעות ודקות
                    double-to-int v0, v4 # שעת שקיעה
                    int-to-double v6, v0
                    sub-double/2addr v4, v6
                    const-wide v6, 0x404e000000000000L # 60.0
                    mul-double/2addr v4, v6
                    double-to-int v4, v4 # דקות שקיעה
                
                    # השוואה לזמן אמת
                    const/4 v5, 0x1
                    if-le v2, v0, :cond_62
                    return v5
                    :cond_62
                    if-ne v2, v0, :cond_67
                    if-lt v3, v4, :cond_67
                    return v5
                    :cond_67
                    const/4 v0, 0x0
                    return v0
                .end method
                

                מי שרוצה ללא הצגת היום שייקח את הקוד שבספויילר:

                .class public Lcom/android/systemui/HebrewDateHelper;
                .super Ljava/lang/Object;
                
                # --- מתודה ראשית לעדכון ה-TextView ---
                .method public static updateHebrewDisplay(Landroid/widget/TextView;)V
                    .registers 2
                    if-nez p0, :cond_3
                    return-void
                    :cond_3
                    invoke-static {}, Lcom/android/systemui/HebrewDateHelper;->getSmartDate()Ljava/lang/String;
                    move-result-object v0
                    invoke-virtual {p0, v0}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
                    return-void
                .end method
                
                # --- לוגיקה חכמה לבחירת הנוסח (יום/לילה/מוצ"ש) ---
                .method public static getSmartDate()Ljava/lang/String;
                    .registers 4
                    invoke-static {}, Lcom/android/systemui/HebrewDateHelper;->isAfterNightfall()Z
                    move-result v0
                    
                    new-instance v1, Landroid/icu/util/HebrewCalendar;
                    invoke-direct {v1}, Landroid/icu/util/HebrewCalendar;-><init>()V
                
                    if-eqz v0, :cond_30 # אם לילה (אחרי שקיעה)
                    
                    const/4 v2, 0x7 # יום שבת ב-Calendar
                    invoke-virtual {v1, v2}, Landroid/icu/util/HebrewCalendar;->get(I)I
                    move-result v3
                    
                    if-ne v3, v2, :cond_20
                    const-string v0, "מוצאי שבת"
                    return-object v0
                
                    :cond_20
                    # אם לילה ואינו מוצ"ש - הוספת יום והוספת "אור ל-"
                    const/4 v2, 0x5 # DATE
                    const/4 v3, 0x1
                    invoke-virtual {v1, v2, v3}, Landroid/icu/util/HebrewCalendar;->add(II)V
                    
                    new-instance v0, Ljava/lang/StringBuilder;
                    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
                    const-string v2, "אור ל-"
                    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                    invoke-static {v1}, Lcom/android/systemui/HebrewDateHelper;->formatHebrew(Landroid/icu/util/HebrewCalendar;)Ljava/lang/String;
                    move-result-object v1
                    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
                    move-result-object v0
                    return-object v0
                
                    :cond_30 # אם יום (לפני שקיעה)
                    invoke-static {v1}, Lcom/android/systemui/HebrewDateHelper;->formatHebrew(Landroid/icu/util/HebrewCalendar;)Ljava/lang/String;
                    move-result-object v0
                    return-object v0
                .end method
                
                # --- פורמט התאריך העברי ללא יום בשבוע (MEDIUM style) ---
                .method private static formatHebrew(Landroid/icu/util/HebrewCalendar;)Ljava/lang/String;
                    .registers 4
                    new-instance v0, Landroid/icu/util/ULocale;
                    const-string v1, "he_IL@calendar=hebrew"
                    invoke-direct {v0, v1}, Landroid/icu/util/ULocale;-><init>(Ljava/lang/String;)V
                    
                    # ערך 2 מייצג MEDIUM (תאריך בלבד) במקום 0 (LONG - הכולל יום)
                    const/4 v1, 0x2 
                    invoke-static {v1, v0}, Landroid/icu/text/DateFormat;->getDateInstance(ILandroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;
                    move-result-object v0
                    
                    invoke-virtual {p0}, Landroid/icu/util/HebrewCalendar;->getTime()Ljava/util/Date;
                    move-result-object v1
                    invoke-virtual {v0, v1}, Landroid/icu/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
                    move-result-object v0
                    return-object v0
                .end method
                
                # --- חישוב שקיעה מתמטי משוער ---
                .method private static isAfterNightfall()Z
                    .registers 10
                    invoke-static {}, Ljava/util/Calendar;->getInstance()Ljava/util/Calendar;
                    move-result-object v0
                    
                    const/4 v1, 0x6 # DAY_OF_YEAR
                    invoke-virtual {v0, v1}, Ljava/util/Calendar;->get(I)I
                    move-result v1
                    const/16 v2, 0xb # HOUR_OF_DAY
                    invoke-virtual {v0, v2}, Ljava/util/Calendar;->get(I)I
                    move-result v2
                    const/16 v3, 0xc # MINUTE
                    invoke-virtual {v0, v3}, Ljava/util/Calendar;->get(I)I
                    move-result v3
                
                    # חישוב גלי סינוס לקירוב שעת שקיעה לאורך השנה
                    const-wide v4, 0x400921fb54442d18L # 2 * PI
                    const-wide/high16 v6, 0x4000000000000000L # 2.0
                    mul-double/2addr v4, v6
                    add-int/lit8 v6, v1, -0x50
                    int-to-double v6, v6
                    mul-double/2addr v4, v6
                    const-wide v6, 0x4076d00000000000L # 365.0
                    div-double/2addr v4, v6
                    invoke-static {v4, v5}, Ljava/lang/Math;->sin(D)D
                    move-result-wide v4
                    
                    const-wide v6, 0x3ff0cccccccccccdL # 1.05
                    mul-double/2addr v4, v6
                    const-wide v6, 0x403247ae147ae148L # 18.28 (שעה בסיסית לשקיעה)
                    add-double/2addr v4, v6
                
                    # בדיקת שעון קיץ
                    invoke-virtual {v0}, Ljava/util/Calendar;->getTimeZone()Ljava/util/TimeZone;
                    move-result-object v6
                    invoke-virtual {v0}, Ljava/util/Calendar;->getTime()Ljava/util/Date;
                    move-result-object v0
                    invoke-virtual {v6, v0}, Ljava/util/TimeZone;->inDaylightTime(Ljava/util/Date;)Z
                    move-result v0
                    if-eqz v0, :cond_52
                    const-wide/high16 v6, 0x3ff0000000000000L # +1.0
                    add-double/2addr v4, v6
                
                    :cond_52
                    double-to-int v0, v4 # שעות
                    int-to-double v6, v0
                    sub-double/2addr v4, v6
                    const-wide v6, 0x404e000000000000L # 60.0
                    mul-double/2addr v4, v6
                    double-to-int v4, v4 # דקות
                
                    const/4 v5, 0x1
                    if-le v2, v0, :cond_62
                    return v5
                    :cond_62
                    if-ne v2, v0, :cond_67
                    if-lt v3, v4, :cond_67
                    return v5
                    :cond_67
                    const/4 v0, 0x0
                    return v0
                .end method
                

                 

                2. HebrewDateReceiver.smali
                קובץ זה "מקשיב" למערכת ומעדכן את התצוגה.

                .class public Lcom/android/systemui/HebrewDateReceiver;
                .super Landroid/content/BroadcastReceiver;
                .field private mView:Landroid/widget/TextView;
                
                .method public constructor <init>(Landroid/widget/TextView;)V
                    .registers 2
                    invoke-direct {p0}, Landroid/content/BroadcastReceiver;-><init>()V
                    iput-object p1, p0, Lcom/android/systemui/HebrewDateReceiver;->mView:Landroid/widget/TextView;
                    return-void
                .end method
                
                .method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
                    .registers 4
                    iget-object v0, p0, Lcom/android/systemui/HebrewDateReceiver;->mView:Landroid/widget/TextView;
                    invoke-static {v0}, Lcom/android/systemui/HebrewDateHelper;->updateHebrewDisplay(Landroid/widget/TextView;)V
                    return-void
                .end method
                

                שלב 2: הגדרת התצוגה

                1. הוספת מזהה (ID):   כנס ל-resources.arsc -> Arsc Editor -> com.android.systemui > id

                2. כעת תראה רשימה ארוכה של שמות. לחץ על כפתור התפריט (3 נקודות) ובחר Add.

                3. בתיבה שנפתחת, בשדה Name, רשום בדיוק: hebrew_date_display.

                4. לחץ על אישור. יינתן ל id מספר (Hex) באופן אוטומטי. העתק את המספר הזה!
                  (הוא נראה בערך ככה: 0x7f0a0123).

                5. צא חזרה ולחץ על Save כדי לשמור את השינויים בקובץ ה-arsc.

                6. הוספת האלמנט: בנתיב /res/layout, פתח את הקובץ האחראי על מסך הנעילה (keyguard_status_view.xml) והוסף:

                  <TextView 
                      android:id="@id/hebrew_date_display" 
                      android:layout_width="match_parent" 
                      android:layout_height="wrap_content" 
                      android:gravity="center"
                      android:layout_gravity="center_horizontal"
                      android:textColor="#FFFFFF" 
                      android:textSize="16sp" 
                      android:layout_marginTop="4dp" />
                  

                שלב 3: הזרקת הרישום לעדכון בשקיעה.

                כדי שהתאריך יבדוק כל דקה אם הגיעה השקיעה, נזריק את ה-Receiver לתוך המחלקה של מסך הנעילה (KeyguardStatusView.smali) בתוך המתודה onAttachedToWindow:

                שימו לב לעדכן את ה- ID!

                # 1. מציאת ה-View (החלף את ה-ID בערך ה-Hex ש-MT נותן לך)
                const v0, 0x7fXXXXXX 
                invoke-virtual {p0, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
                move-result-object v0
                check-cast v0, Landroid/widget/TextView;
                
                # 2. יצירת ה-Receiver והפילטר
                new-instance v1, Lcom/android/systemui/HebrewDateReceiver;
                invoke-direct {v1, v0}, Lcom/android/systemui/HebrewDateReceiver;-><init>(Landroid/widget/TextView;)V
                new-instance v2, Landroid/content/IntentFilter;
                invoke-direct {v2}, Landroid/content/IntentFilter;-><init>()V
                
                # 3. הוספת הפעולות (כולל TICK לעדכון בשקיעה)
                const-string v3, "android.intent.action.TIME_TICK" # עדכון כל דקה לבדיקת שקיעה
                invoke-virtual {v2, v3}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
                const-string v3, "android.intent.action.DATE_CHANGED"
                invoke-virtual {v2, v3}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
                
                # 4. רישום בפועל
                invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
                move-result-object v3
                invoke-virtual {v3, v1, v2}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
                
                # 5. עדכון מיידי ראשוני
                invoke-static {v0}, Lcom/android/systemui/HebrewDateHelper;->updateHebrewDisplay(Landroid/widget/TextView;)V
                

                שלב 4: סיום.

                1. שמור הכל: צא מ-Dex Editor Plus ושמור שינויים.
                2. עדכון: MT Manager יבקש לעדכן את ה-APK. לחץ אישור ואל תסמן את "חתימה אוטומטית"!

                 

                איני לוקח אחריות על שום נזק שיהיה כתוצאה ממדריך זה.

                בהצלחה!

                אלוף תימןא מנותק
                אלוף תימןא מנותק
                אלוף תימן
                כתב נערך לאחרונה על ידי
                #8

                @מחנה-ידידים יש הבדל בין המדריך שלך למדריך של @lilo159 פה

                מכשיר נגנים

                שניאור שמחש תגובה 1 תגובה אחרונה
                0
                • מ מחנה ידידים

                  @שניאור-שמח אתה מבקש? תתן ל Ai שישנה לך! התכוונתי לכאלו שלא יודעים 😂

                  שניאור שמחש מחובר
                  שניאור שמחש מחובר
                  שניאור שמח
                  מדריכים עימוד
                  כתב נערך לאחרונה על ידי
                  #9

                  @מחנה-ידידים חחח, אין לי כח לבקש ממנו..
                  ואני מאמין שעוד הרבה ירצו את זה..
                  אבל אם אתה לא תעשה את זה, אני יבקש ממנו

                  "אם לא תנסה, איך תדע?"

                  מ 2 תגובות תגובה אחרונה
                  1
                  • אלוף תימןא אלוף תימן

                    @מחנה-ידידים יש הבדל בין המדריך שלך למדריך של @lilo159 פה

                    שניאור שמחש מחובר
                    שניאור שמחש מחובר
                    שניאור שמח
                    מדריכים עימוד
                    כתב נערך לאחרונה על ידי
                    #10

                    @אלוף-תימן כן, שם זה בדאמבדרויד כאן זה בגרסה הרגילה

                    "אם לא תנסה, איך תדע?"

                    אלוף תימןא תגובה 1 תגובה אחרונה
                    0
                    • שניאור שמחש שניאור שמח

                      @מחנה-ידידים חחח, אין לי כח לבקש ממנו..
                      ואני מאמין שעוד הרבה ירצו את זה..
                      אבל אם אתה לא תעשה את זה, אני יבקש ממנו

                      מ מחובר
                      מ מחובר
                      מחנה ידידים
                      כתב נערך לאחרונה על ידי
                      #11

                      @שניאור-שמח אני אעשה.
                      @אלוף-תימן זה לגרסה הרגילה וההוא לדמבדרואיד

                      תגובה 1 תגובה אחרונה
                      0
                      • שניאור שמחש שניאור שמח

                        @אלוף-תימן כן, שם זה בדאמבדרויד כאן זה בגרסה הרגילה

                        אלוף תימןא מנותק
                        אלוף תימןא מנותק
                        אלוף תימן
                        כתב נערך לאחרונה על ידי
                        #12

                        @שניאור-שמח שתיהם בסוף אותו תוצאה כאילו שבמסך נעילה יש לוח עברי נכון

                        מכשיר נגנים

                        מ תגובה 1 תגובה אחרונה
                        0
                        • אלוף תימןא אלוף תימן

                          @שניאור-שמח שתיהם בסוף אותו תוצאה כאילו שבמסך נעילה יש לוח עברי נכון

                          מ מחובר
                          מ מחובר
                          מחנה ידידים
                          כתב נערך לאחרונה על ידי
                          #13

                          @אלוף-תימן כן

                          אלוף תימןא תגובה 1 תגובה אחרונה
                          0
                          • מ מחנה ידידים

                            @אלוף-תימן כן

                            אלוף תימןא מנותק
                            אלוף תימןא מנותק
                            אלוף תימן
                            כתב נערך לאחרונה על ידי
                            #14

                            @מחנה-ידידים כי המדריך השני עשיתי אותו לכמה נגנים אפילו אנדרואיד 10 עבד חלק המדריך שלך נראה יותר מסובך בדקת שאין דברים מיותרים במדריך שלך?

                            מכשיר נגנים

                            מ תגובה 1 תגובה אחרונה
                            0
                            • אלוף תימןא אלוף תימן

                              @מחנה-ידידים כי המדריך השני עשיתי אותו לכמה נגנים אפילו אנדרואיד 10 עבד חלק המדריך שלך נראה יותר מסובך בדקת שאין דברים מיותרים במדריך שלך?

                              מ מחובר
                              מ מחובר
                              מחנה ידידים
                              כתב נערך לאחרונה על ידי
                              #15

                              @אלוף-תימן נראלי ששלו דווקא יותר מסובך...

                              אלוף תימןא תגובה 1 תגובה אחרונה
                              0
                              • מ מחנה ידידים

                                @אלוף-תימן נראלי ששלו דווקא יותר מסובך...

                                אלוף תימןא מנותק
                                אלוף תימןא מנותק
                                אלוף תימן
                                כתב נערך לאחרונה על ידי
                                #16

                                @מחנה-ידידים אוקי אולי תוסיף במדריך שלך קישור למדריך שלו וש @lilo159 יוסיף במדריך שלו קישור למדריך שלך וכל אחד יראה מה יותר סבבה בשבילו

                                מכשיר נגנים

                                מ תגובה 1 תגובה אחרונה
                                0
                                • שניאור שמחש שניאור שמח

                                  @מחנה-ידידים חחח, אין לי כח לבקש ממנו..
                                  ואני מאמין שעוד הרבה ירצו את זה..
                                  אבל אם אתה לא תעשה את זה, אני יבקש ממנו

                                  מ מחובר
                                  מ מחובר
                                  מחנה ידידים
                                  כתב נערך לאחרונה על ידי
                                  #17

                                  @שניאור-שמח אני כרגע באנדרואיד. כנראה שיהיה בצהריים או בערב

                                  תגובה 1 תגובה אחרונה
                                  0
                                  • אלוף תימןא אלוף תימן

                                    @מחנה-ידידים אוקי אולי תוסיף במדריך שלך קישור למדריך שלו וש @lilo159 יוסיף במדריך שלו קישור למדריך שלך וכל אחד יראה מה יותר סבבה בשבילו

                                    מ מחובר
                                    מ מחובר
                                    מחנה ידידים
                                    כתב נערך לאחרונה על ידי
                                    #18

                                    @אלוף-תימן נראה

                                    תגובה 1 תגובה אחרונה
                                    0

                                    • התחברות

                                    • אין לך חשבון עדיין? הרשמה

                                    • התחברו או הירשמו כדי לחפש.
                                    • פוסט ראשון
                                      פוסט אחרון
                                    0
                                    • חוקי הפורום
                                    • פופולרי
                                    • לא נפתר
                                    • משתמשים
                                    • חיפוש גוגל בפורום
                                    • צור קשר