דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • 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
20 פוסטים 6 כותבים 213 צפיות 7 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • L מנותק
    L מנותק
    lilo159
    כתב נערך לאחרונה על ידי lilo159
    #1

    בהמשך למדריך | הוספת תאריך עברי למסך הבית בדאמבדרויד
    b7d05bf9-70c4-46c4-8782-188973bae653-image.png
    אז משום מה, אתם עדיין משתמשים בגרסה הרגילה של F21 PRO..
    לא נורא, מתי שהוא גם אתם תתקדמו..

    בכל מקרה, לבינתיים:

    כרגיל, הAI הוא המתכנת, אבל האחריות אצלו היא לא טעות סופר..

    לשינויים:
    האפליקציה שאנחנו עורכים היא הלאנצ'ר, שנמצא בנתיב:
    /system_ext/priv-app/Launcher3QuickStep

    כל הקלאסים שנערכים או נוספים, נמצאים בנתיב:
    com/android/launcher3

    1. להוסיף את הקלאס HebrewDateHelper (בנתיב com/android/launcher3):
    .class public Lcom/android/launcher3/HebrewDateHelper;
    .super Ljava/lang/Object;
    
    # direct methods
    .method public static getCombinedDateString(Ljava/lang/String;)Ljava/lang/String;
        .registers 12
    
        :try_start_0
        new-instance v0, Landroid/icu/util/HebrewCalendar;
        invoke-direct {v0}, Landroid/icu/util/HebrewCalendar;-><init>()V
    
        new-instance v1, Landroid/icu/util/ULocale;
        const-string v2, "he_IL@calendar=hebrew"
        invoke-direct {v1, v2}, Landroid/icu/util/ULocale;-><init>(Ljava/lang/String;)V
    
        const/4 v2, 0x1
        invoke-static {v2, v1}, Landroid/icu/text/DateFormat;->getDateInstance(ILandroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;
        move-result-object v2
    
        invoke-static {}, Lcom/android/launcher3/HebrewDateHelper;->isAfterNightfall()Z
        move-result v3
        move v10, v3
    
        invoke-virtual {v0}, Landroid/icu/util/HebrewCalendar;->getTime()Ljava/util/Date;
        move-result-object v4
    
        invoke-virtual {v2, v4}, Landroid/icu/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
        move-result-object v3
    
        if-eqz v3, :cond_bc
    
        const/4 v4, 0x7
        invoke-virtual {v0, v4}, Landroid/icu/util/HebrewCalendar;->get(I)I
        move-result v5
    
        if-ne v5, v4, :cond_33
    
        if-eqz v10, :cond_33
    
        const-string/jumbo v4, "יום שבת"
        const-string/jumbo v5, "מוצאי שבת"
        invoke-virtual {v3, v4, v5}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
        move-result-object v3
    
        :cond_33
        const/16 v4, 0x20
        invoke-virtual {v3, v4}, Ljava/lang/String;->lastIndexOf(I)I
        move-result v4
    
        const-string v8, ""
        const-string v9, ""
        const/4 v5, -0x1
    
        if-eq v4, v5, :cond_4b
    
        const/4 v5, 0x0
        invoke-virtual {v3, v5, v4}, Ljava/lang/String;->substring(II)Ljava/lang/String;
        move-result-object v8
    
        add-int/lit8 v4, v4, 0x1
        invoke-virtual {v3, v4}, Ljava/lang/String;->substring(I)Ljava/lang/String;
        move-result-object v9
    
        :cond_4b
        const/4 v3, 0x2
        invoke-virtual {v0, v3}, Landroid/icu/util/HebrewCalendar;->get(I)I
        move-result v4
    
        const/4 v5, 0x5
        const/4 v6, 0x1
        invoke-virtual {v0, v5, v6}, Landroid/icu/util/HebrewCalendar;->add(II)V
    
        invoke-virtual {v0}, Landroid/icu/util/HebrewCalendar;->getTime()Ljava/util/Date;
        move-result-object v5
        invoke-virtual {v2, v5}, Landroid/icu/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
        move-result-object v6
    
        invoke-virtual {v0, v3}, Landroid/icu/util/HebrewCalendar;->get(I)I
        move-result v5
    
        const-string v0, ", "
        invoke-virtual {v6, v0}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
        move-result v0
    
        const/4 v7, -0x1
    
        if-eq v0, v7, :cond_70
    
        add-int/lit8 v0, v0, 0x2
        invoke-virtual {v6, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
        move-result-object v6
    
        :cond_70
        const/16 v0, 0x20
        invoke-virtual {v6, v0}, Ljava/lang/String;->lastIndexOf(I)I
        move-result v0
    
        if-eq v0, v7, :cond_7d
    
        const/4 v2, 0x0
        invoke-virtual {v6, v2, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
        move-result-object v6
    
        :cond_7d
        if-ne v4, v5, :cond_8c
    
        const/16 v0, 0x20
        invoke-virtual {v6, v0}, Ljava/lang/String;->indexOf(I)I
        move-result v0
    
        if-eq v0, v7, :cond_8c
    
        const/4 v2, 0x0
        invoke-virtual {v6, v2, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
        move-result-object v6
    
        :cond_8c
        new-instance v0, Ljava/lang/StringBuilder;
        invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
    
        invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    
        if-eqz v10, :cond_a7
    
        const-string v2, " (אור ל-"
        invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
        invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
        const-string v2, ") "
        invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
        invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
        goto :goto_af
    
        :cond_a7
        const-string v2, " "
        invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
        invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    
        :goto_af
        const-string v2, "\n"
        invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
        invoke-virtual {v0, p0}, 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_bc
        new-instance v0, Ljava/lang/StringBuilder;
        invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
        invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
        const-string v1, "\n"
        invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
        invoke-virtual {v0, p0}, 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
        :try_end_d1
        .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_d1} :catch_d1
    
        :catch_d1
        move-exception v0
        return-object p0
    .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
        invoke-virtual {v0, v1}, Ljava/util/Calendar;->get(I)I
        move-result v1
        const/16 v2, 0xb
        invoke-virtual {v0, v2}, Ljava/util/Calendar;->get(I)I
        move-result v2
        const/16 v3, 0xc
        invoke-virtual {v0, v3}, Ljava/util/Calendar;->get(I)I
        move-result v3
        invoke-virtual {v0}, Ljava/util/Calendar;->getTimeZone()Ljava/util/TimeZone;
        move-result-object v4
        invoke-virtual {v0}, Ljava/util/Calendar;->getTime()Ljava/util/Date;
        move-result-object v0
        invoke-virtual {v4, v0}, Ljava/util/TimeZone;->inDaylightTime(Ljava/util/Date;)Z
        move-result v0
    
        const-wide v4, 0x400921fb54442d18L
        const-wide/high16 v6, 0x4000000000000000L
        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
        div-double/2addr v4, v6
        invoke-static {v4, v5}, Ljava/lang/Math;->sin(D)D
        move-result-wide v4
        const-wide v6, 0x3ff0cccccccccccdL
        mul-double/2addr v4, v6
        const-wide v6, 0x403247ae147ae148L
        add-double/2addr v4, v6
    
        if-eqz v0, :cond_48
        const-wide/high16 v6, 0x3ff0000000000000L
        add-double/2addr v4, v6
        :cond_48
    
        double-to-int v0, v4
        int-to-double v6, v0
        sub-double/2addr v4, v6
        const-wide v6, 0x404e000000000000L
        mul-double/2addr v4, v6
        double-to-int v4, v4
        const/4 v5, 0x1
    
        if-le v2, v0, :cond_56
        return v5
    
        :cond_56
        if-ne v2, v0, :cond_5b
        if-lt v3, v4, :cond_5b
        return v5
    
        :cond_5b
        const/4 v0, 0x0
        return v0
    .end method
    

    אם אתם מעדיפים שהתאריך הלועזי יהיה למעלה, אז תקחו את הקוד שבספויילר במקום:

    .class public Lcom/android/launcher3/HebrewDateHelper;
    .super Ljava/lang/Object;
    
    # direct methods
    .method public static getCombinedDateString(Ljava/lang/String;)Ljava/lang/String;
        .registers 12
    
        :try_start_0
        new-instance v0, Landroid/icu/util/HebrewCalendar;
        invoke-direct {v0}, Landroid/icu/util/HebrewCalendar;-><init>()V
    
        new-instance v1, Landroid/icu/util/ULocale;
        const-string v2, "he_IL@calendar=hebrew"
        invoke-direct {v1, v2}, Landroid/icu/util/ULocale;-><init>(Ljava/lang/String;)V
    
        const/4 v2, 0x1
        invoke-static {v2, v1}, Landroid/icu/text/DateFormat;->getDateInstance(ILandroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;
        move-result-object v2
    
        invoke-static {}, Lcom/android/launcher3/HebrewDateHelper;->isAfterNightfall()Z
        move-result v3
        move v10, v3
    
        invoke-virtual {v0}, Landroid/icu/util/HebrewCalendar;->getTime()Ljava/util/Date;
        move-result-object v4
    
        invoke-virtual {v2, v4}, Landroid/icu/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
        move-result-object v3
    
        if-eqz v3, :cond_bc
    
        const/4 v4, 0x7
        invoke-virtual {v0, v4}, Landroid/icu/util/HebrewCalendar;->get(I)I
        move-result v5
    
        if-ne v5, v4, :cond_33
    
        if-eqz v10, :cond_33
    
        const-string/jumbo v4, "יום שבת"
        const-string/jumbo v5, "מוצאי שבת"
        invoke-virtual {v3, v4, v5}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
        move-result-object v3
    
        :cond_33
        const/16 v4, 0x20
        invoke-virtual {v3, v4}, Ljava/lang/String;->lastIndexOf(I)I
        move-result v4
    
        const-string v8, ""
        const-string v9, ""
        const/4 v5, -0x1
    
        if-eq v4, v5, :cond_4b
    
        const/4 v5, 0x0
        invoke-virtual {v3, v5, v4}, Ljava/lang/String;->substring(II)Ljava/lang/String;
        move-result-object v8
    
        add-int/lit8 v4, v4, 0x1
        invoke-virtual {v3, v4}, Ljava/lang/String;->substring(I)Ljava/lang/String;
        move-result-object v9
    
        :cond_4b
        const/4 v3, 0x2
        invoke-virtual {v0, v3}, Landroid/icu/util/HebrewCalendar;->get(I)I
        move-result v4
    
        const/4 v5, 0x5
        const/4 v6, 0x1
        invoke-virtual {v0, v5, v6}, Landroid/icu/util/HebrewCalendar;->add(II)V
    
        invoke-virtual {v0}, Landroid/icu/util/HebrewCalendar;->getTime()Ljava/util/Date;
        move-result-object v5
        invoke-virtual {v2, v5}, Landroid/icu/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
        move-result-object v6
    
        invoke-virtual {v0, v3}, Landroid/icu/util/HebrewCalendar;->get(I)I
        move-result v5
    
        const-string v0, ", "
        invoke-virtual {v6, v0}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
        move-result v0
    
        const/4 v7, -0x1
    
        if-eq v0, v7, :cond_70
    
        add-int/lit8 v0, v0, 0x2
        invoke-virtual {v6, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
        move-result-object v6
    
        :cond_70
        const/16 v0, 0x20
        invoke-virtual {v6, v0}, Ljava/lang/String;->lastIndexOf(I)I
        move-result v0
    
        if-eq v0, v7, :cond_7d
    
        const/4 v2, 0x0
        invoke-virtual {v6, v2, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
        move-result-object v6
    
        :cond_7d
        if-ne v4, v5, :cond_8c
    
        const/16 v0, 0x20
        invoke-virtual {v6, v0}, Ljava/lang/String;->indexOf(I)I
        move-result v0
    
        if-eq v0, v7, :cond_8c
    
        const/4 v2, 0x0
        invoke-virtual {v6, v2, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
        move-result-object v6
    
        :cond_8c
        new-instance v0, Ljava/lang/StringBuilder;
        invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
    
        invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
        const-string v2, "\n"
        invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    
        invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    
        if-eqz v10, :cond_a7
    
        const-string v2, " (אור ל-"
        invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
        invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
        const-string v2, ") "
        invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
        invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
        goto :goto_af
    
        :cond_a7
        const-string v2, " "
        invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
        invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    
        :goto_af
        invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
        move-result-object v0
        return-object v0
    
        :cond_bc
        new-instance v0, Ljava/lang/StringBuilder;
        invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
    
        invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
        const-string v1, "\n"
        invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
        invoke-virtual {v0, v3}, 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
        :try_end_d1
        .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_d1} :catch_d1
    
        :catch_d1
        move-exception v0
        return-object p0
    .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
        invoke-virtual {v0, v1}, Ljava/util/Calendar;->get(I)I
        move-result v1
        const/16 v2, 0xb
        invoke-virtual {v0, v2}, Ljava/util/Calendar;->get(I)I
        move-result v2
        const/16 v3, 0xc
        invoke-virtual {v0, v3}, Ljava/util/Calendar;->get(I)I
        move-result v3
        invoke-virtual {v0}, Ljava/util/Calendar;->getTimeZone()Ljava/util/TimeZone;
        move-result-object v4
        invoke-virtual {v0}, Ljava/util/Calendar;->getTime()Ljava/util/Date;
        move-result-object v0
        invoke-virtual {v4, v0}, Ljava/util/TimeZone;->inDaylightTime(Ljava/util/Date;)Z
        move-result v0
    
        const-wide v4, 0x400921fb54442d18L
        const-wide/high16 v6, 0x4000000000000000L
        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
        div-double/2addr v4, v6
        invoke-static {v4, v5}, Ljava/lang/Math;->sin(D)D
        move-result-wide v4
        const-wide v6, 0x3ff0cccccccccccdL
        mul-double/2addr v4, v6
        const-wide v6, 0x403247ae147ae148L
        add-double/2addr v4, v6
    
        if-eqz v0, :cond_48
        const-wide/high16 v6, 0x3ff0000000000000L
        add-double/2addr v4, v6
        :cond_48
    
        double-to-int v0, v4
        int-to-double v6, v0
        sub-double/2addr v4, v6
        const-wide v6, 0x404e000000000000L
        mul-double/2addr v4, v6
        double-to-int v4, v4
        const/4 v5, 0x1
    
        if-le v2, v0, :cond_56
        return v5
    
        :cond_56
        if-ne v2, v0, :cond_5b
        if-lt v3, v4, :cond_5b
        return v5
    
        :cond_5b
        const/4 v0, 0x0
        return v0
    .end method
    

    1. להוסיף את הקלאס (באותו נתיב):
      WorkspaceDateReceiver
    .class public Lcom/android/launcher3/WorkspaceDateReceiver;
    .super Landroid/content/BroadcastReceiver;
    
    .field private final mWorkspace:Lcom/android/launcher3/Workspace;
    
    .method public constructor <init>(Lcom/android/launcher3/Workspace;)V
        .registers 2
    
        .line 1
        invoke-direct {p0}, Landroid/content/BroadcastReceiver;-><init>()V
    
        .line 2
        iput-object p1, p0, Lcom/android/launcher3/WorkspaceDateReceiver;->mWorkspace:Lcom/android/launcher3/Workspace;
    
        .line 3
        return-void
    .end method
    
    .method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
        .registers 3
    
        .line 1
        iget-object p1, p0, Lcom/android/launcher3/WorkspaceDateReceiver;->mWorkspace:Lcom/android/launcher3/Workspace;
    
        if-eqz p1, :cond_end
    
        .line 2
        invoke-virtual {p1}, Lcom/android/launcher3/Workspace;->refreshTime()V
    
        :cond_end
        return-void
    .end method
    
    1. בקלאס Workspace (שנמצא בנתיב כדלעיל):
      יחסית בתחילת הקלאס (בערך שורה 46)
      אחרי השורה
    # static fields
    

    להוסיף את השורה הזאת:

    .field private mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
    
    1. באותו קלאס
      במתודה insertNewWorkspaceScreen (הראשונה, נראית כך):
    .method public insertNewWorkspaceScreen(II)Lcom/android/launcher3/CellLayout;
    

    מתחת לשורה .line 728 ישנה השורה:

    invoke-virtual {v6, v5}, Landroid/widget/TextClock;->setFocusable(Z)V
    

    מיד אחריה להוסיף את השורות:

    # הזרקה: 2 שורות ומרכוז
        invoke-virtual {v6, v5}, Landroid/widget/TextClock;->setSingleLine(Z)V
        const/4 v7, 0x2
        invoke-virtual {v6, v7}, Landroid/widget/TextClock;->setMaxLines(I)V
        const/16 v7, 0x11
        invoke-virtual {v6, v7}, Landroid/widget/TextClock;->setGravity(I)V
    


    אמור להראות כך:

        .line 728
        invoke-virtual {v6, v5}, Landroid/widget/TextClock;->setFocusable(Z)V
        # הזרקה: 2 שורות ומרכוז
        invoke-virtual {v6, v5}, Landroid/widget/TextClock;->setSingleLine(Z)V
        const/4 v7, 0x2
        invoke-virtual {v6, v7}, Landroid/widget/TextClock;->setMaxLines(I)V
        const/16 v7, 0x11
        invoke-virtual {v6, v7}, Landroid/widget/TextClock;->setGravity(I)V
    

    1. באותו קלאס
      במתודה refreshTime
      א. לשנות את המתודה לpublic
      ב. לחפש את השורה הזאת:
    invoke-direct/range {p0 .. p0}, Lcom/android/launcher3/Workspace;->refreshTime()V
    

    ולהחליף עם זאת:

    invoke-virtual/range {p0 .. p0}, Lcom/android/launcher3/Workspace;->refreshTime()V
    

    ג. מיד אחרי השורה הזאת (היא נמצאת פעמיים, לבצע על שני השורות שתמצאו):

    sget-object v1, Lcom/android/launcher3/Workspace$Patterns;->dateView:Ljava/lang/String;
    
    

    להוסיף את הקוד:

    invoke-static {v1}, Lcom/android/launcher3/HebrewDateHelper;->getCombinedDateString(Ljava/lang/String;)Ljava/lang/String;
        move-result-object v1
    


    בסוף המתודה אמורה להראות כך:

    .method public refreshTime()V
        .registers 4
    
        .line 779
        invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getContext()Landroid/content/Context;
    
        move-result-object v0
    
        invoke-static {v0}, Lcom/android/launcher3/Workspace$Patterns;->update(Landroid/content/Context;)V
    
        .line 780
        iget-object v0, p0, Lcom/android/launcher3/Workspace;->mDateView:Landroid/widget/TextClock;
    
        sget-object v1, Lcom/android/launcher3/Workspace$Patterns;->dateView:Ljava/lang/String;
    
        # הזרקת התאריך העברי לפורמט 24 שעות
        invoke-static {v1}, Lcom/android/launcher3/HebrewDateHelper;->getCombinedDateString(Ljava/lang/String;)Ljava/lang/String;
        move-result-object v1
    
        invoke-virtual {v0, v1}, Landroid/widget/TextClock;->setFormat24Hour(Ljava/lang/CharSequence;)V
    
        .line 781
        iget-object v0, p0, Lcom/android/launcher3/Workspace;->mDateView:Landroid/widget/TextClock;
    
        sget-object v1, Lcom/android/launcher3/Workspace$Patterns;->dateView:Ljava/lang/String;
    
        # הזרקת התאריך העברי לפורמט 12 שעות
        invoke-static {v1}, Lcom/android/launcher3/HebrewDateHelper;->getCombinedDateString(Ljava/lang/String;)Ljava/lang/String;
        move-result-object v1
    
        invoke-virtual {v0, v1}, Landroid/widget/TextClock;->setFormat12Hour(Ljava/lang/CharSequence;)V
    
        .line 783
        iget-object v0, p0, Lcom/android/launcher3/Workspace;->mClockView:Landroid/widget/TextClock;
    
        .line 784
        invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getResources()Landroid/content/res/Resources;
    
        move-result-object v1
    
        sget v2, Lcom/android/launcher3/R$dimen;->am_pm_widget_font_size:I
    
        invoke-virtual {v1, v2}, Landroid/content/res/Resources;->getDimension(I)F
    
        move-result v1
    
        float-to-int v1, v1
    
        sget-object v2, Lcom/android/launcher3/Workspace$Patterns;->clockView12:Ljava/lang/String;
    
        .line 783
        invoke-virtual {p0, v1, v2}, Lcom/android/launcher3/Workspace;->updateAmPmTextSize(ILjava/lang/String;)Ljava/lang/CharSequence;
    
        move-result-object v1
    
        invoke-virtual {v0, v1}, Landroid/widget/TextClock;->setFormat12Hour(Ljava/lang/CharSequence;)V
    
        .line 785
        iget-object v0, p0, Lcom/android/launcher3/Workspace;->mClockView:Landroid/widget/TextClock;
    
        sget-object v1, Lcom/android/launcher3/Workspace$Patterns;->clockView24:Ljava/lang/String;
    
        invoke-virtual {v0, v1}, Landroid/widget/TextClock;->setFormat24Hour(Ljava/lang/CharSequence;)V
    
        .line 788
        return-void
    .end method
    

    1. במתודה onAttachedToWindow
      א. להוסיף רגיסטר אחד (להחליף מ3 ל4).
      ב. בסוף המתודה ממש לפני return-void, להוסיף את הקוד:
    # הזרקה: רישום המאזין
        new-instance v0, Lcom/android/launcher3/WorkspaceDateReceiver;
        invoke-direct {v0, p0}, Lcom/android/launcher3/WorkspaceDateReceiver;-><init>(Lcom/android/launcher3/Workspace;)V
        iput-object v0, p0, Lcom/android/launcher3/Workspace;->mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
    
        new-instance v1, Landroid/content/IntentFilter;
        invoke-direct {v1}, Landroid/content/IntentFilter;-><init>()V
    
        const-string v2, "android.intent.action.TIME_TICK"
        invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
    
        const-string v2, "android.intent.action.TIME_SET"
        invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
    
        const-string v2, "android.intent.action.TIMEZONE_CHANGED"
        invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
    
        const-string v2, "android.intent.action.DATE_CHANGED"
        invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
    
        invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getContext()Landroid/content/Context;
        move-result-object v2
        invoke-virtual {v2, v0, v1}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
    


    בסוף המתודה אמורה להראות כך:

    .method protected onAttachedToWindow()V
        .registers 4
    
        .line 1490
        invoke-super {p0}, Lcom/android/launcher3/PagedView;->onAttachedToWindow()V
    
        .line 1491
        iget-object v0, p0, Lcom/android/launcher3/Workspace;->mWallpaperOffset:Lcom/android/launcher3/util/WallpaperOffsetInterpolator;
    
        invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getWindowToken()Landroid/os/IBinder;
    
        move-result-object v1
    
        invoke-virtual {v0, v1}, Lcom/android/launcher3/util/WallpaperOffsetInterpolator;->setWindowToken(Landroid/os/IBinder;)V
    
        .line 1492
        invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->computeScroll()V
    
        # רישום המאזין לאירועי שעון
        new-instance v0, Lcom/android/launcher3/WorkspaceDateReceiver;
        invoke-direct {v0, p0}, Lcom/android/launcher3/WorkspaceDateReceiver;-><init>(Lcom/android/launcher3/Workspace;)V
        iput-object v0, p0, Lcom/android/launcher3/Workspace;->mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
    
        new-instance v1, Landroid/content/IntentFilter;
        invoke-direct {v1}, Landroid/content/IntentFilter;-><init>()V
    
        const-string v2, "android.intent.action.TIME_TICK"
        invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
    
        const-string v2, "android.intent.action.TIME_SET"
        invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
    
        const-string v2, "android.intent.action.TIMEZONE_CHANGED"
        invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
    
        const-string v2, "android.intent.action.DATE_CHANGED"
        invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
    
        invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getContext()Landroid/content/Context;
        move-result-object v2
        invoke-virtual {v2, v0, v1}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
    
        .line 1493
        return-void
    .end method
    

    1. במתודה onDetachedFromWindow (נמצאת ממש אחרי המתודה הקודמת)
      כמו קודם, בסוף המתודה ממש לפני הreturn-void, להוסיף את הקוד הבא:
    # הזרקה: ביטול המאזין
        iget-object v0, p0, Lcom/android/launcher3/Workspace;->mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
        if-eqz v0, :cond_unregister_end
    
        invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getContext()Landroid/content/Context;
        move-result-object v1
        invoke-virtual {v1, v0}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
    
        const/4 v0, 0x0
        iput-object v0, p0, Lcom/android/launcher3/Workspace;->mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
    
        :cond_unregister_end
    


    בסוף המתודה אמורה להראות כך:

    .method protected onDetachedFromWindow()V
        .registers 3
    
        .line 1496
        invoke-super {p0}, Lcom/android/launcher3/PagedView;->onDetachedFromWindow()V
    
        .line 1497
        iget-object v0, p0, Lcom/android/launcher3/Workspace;->mWallpaperOffset:Lcom/android/launcher3/util/WallpaperOffsetInterpolator;
    
        const/4 v1, 0x0
    
        invoke-virtual {v0, v1}, Lcom/android/launcher3/util/WallpaperOffsetInterpolator;->setWindowToken(Landroid/os/IBinder;)V
    
        # מחיקת המאזין כדי למנוע דליפת זיכרון
        iget-object v0, p0, Lcom/android/launcher3/Workspace;->mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
        if-eqz v0, :cond_unregister_end
    
        invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getContext()Landroid/content/Context;
        move-result-object v1
        invoke-virtual {v1, v0}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
    
        const/4 v0, 0x0
        iput-object v0, p0, Lcom/android/launcher3/Workspace;->mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
    
        :cond_unregister_end
    
        .line 1498
        return-void
    .end method
    

    בהצלחה!

    מ ח א 3 תגובות תגובה אחרונה
    9
    • L lilo159 התייחס לנושא זה
    • L lilo159

      בהמשך למדריך | הוספת תאריך עברי למסך הבית בדאמבדרויד
      b7d05bf9-70c4-46c4-8782-188973bae653-image.png
      אז משום מה, אתם עדיין משתמשים בגרסה הרגילה של F21 PRO..
      לא נורא, מתי שהוא גם אתם תתקדמו..

      בכל מקרה, לבינתיים:

      כרגיל, הAI הוא המתכנת, אבל האחריות אצלו היא לא טעות סופר..

      לשינויים:
      האפליקציה שאנחנו עורכים היא הלאנצ'ר, שנמצא בנתיב:
      /system_ext/priv-app/Launcher3QuickStep

      כל הקלאסים שנערכים או נוספים, נמצאים בנתיב:
      com/android/launcher3

      1. להוסיף את הקלאס HebrewDateHelper (בנתיב com/android/launcher3):
      .class public Lcom/android/launcher3/HebrewDateHelper;
      .super Ljava/lang/Object;
      
      # direct methods
      .method public static getCombinedDateString(Ljava/lang/String;)Ljava/lang/String;
          .registers 12
      
          :try_start_0
          new-instance v0, Landroid/icu/util/HebrewCalendar;
          invoke-direct {v0}, Landroid/icu/util/HebrewCalendar;-><init>()V
      
          new-instance v1, Landroid/icu/util/ULocale;
          const-string v2, "he_IL@calendar=hebrew"
          invoke-direct {v1, v2}, Landroid/icu/util/ULocale;-><init>(Ljava/lang/String;)V
      
          const/4 v2, 0x1
          invoke-static {v2, v1}, Landroid/icu/text/DateFormat;->getDateInstance(ILandroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;
          move-result-object v2
      
          invoke-static {}, Lcom/android/launcher3/HebrewDateHelper;->isAfterNightfall()Z
          move-result v3
          move v10, v3
      
          invoke-virtual {v0}, Landroid/icu/util/HebrewCalendar;->getTime()Ljava/util/Date;
          move-result-object v4
      
          invoke-virtual {v2, v4}, Landroid/icu/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
          move-result-object v3
      
          if-eqz v3, :cond_bc
      
          const/4 v4, 0x7
          invoke-virtual {v0, v4}, Landroid/icu/util/HebrewCalendar;->get(I)I
          move-result v5
      
          if-ne v5, v4, :cond_33
      
          if-eqz v10, :cond_33
      
          const-string/jumbo v4, "יום שבת"
          const-string/jumbo v5, "מוצאי שבת"
          invoke-virtual {v3, v4, v5}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
          move-result-object v3
      
          :cond_33
          const/16 v4, 0x20
          invoke-virtual {v3, v4}, Ljava/lang/String;->lastIndexOf(I)I
          move-result v4
      
          const-string v8, ""
          const-string v9, ""
          const/4 v5, -0x1
      
          if-eq v4, v5, :cond_4b
      
          const/4 v5, 0x0
          invoke-virtual {v3, v5, v4}, Ljava/lang/String;->substring(II)Ljava/lang/String;
          move-result-object v8
      
          add-int/lit8 v4, v4, 0x1
          invoke-virtual {v3, v4}, Ljava/lang/String;->substring(I)Ljava/lang/String;
          move-result-object v9
      
          :cond_4b
          const/4 v3, 0x2
          invoke-virtual {v0, v3}, Landroid/icu/util/HebrewCalendar;->get(I)I
          move-result v4
      
          const/4 v5, 0x5
          const/4 v6, 0x1
          invoke-virtual {v0, v5, v6}, Landroid/icu/util/HebrewCalendar;->add(II)V
      
          invoke-virtual {v0}, Landroid/icu/util/HebrewCalendar;->getTime()Ljava/util/Date;
          move-result-object v5
          invoke-virtual {v2, v5}, Landroid/icu/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
          move-result-object v6
      
          invoke-virtual {v0, v3}, Landroid/icu/util/HebrewCalendar;->get(I)I
          move-result v5
      
          const-string v0, ", "
          invoke-virtual {v6, v0}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
          move-result v0
      
          const/4 v7, -0x1
      
          if-eq v0, v7, :cond_70
      
          add-int/lit8 v0, v0, 0x2
          invoke-virtual {v6, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
          move-result-object v6
      
          :cond_70
          const/16 v0, 0x20
          invoke-virtual {v6, v0}, Ljava/lang/String;->lastIndexOf(I)I
          move-result v0
      
          if-eq v0, v7, :cond_7d
      
          const/4 v2, 0x0
          invoke-virtual {v6, v2, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
          move-result-object v6
      
          :cond_7d
          if-ne v4, v5, :cond_8c
      
          const/16 v0, 0x20
          invoke-virtual {v6, v0}, Ljava/lang/String;->indexOf(I)I
          move-result v0
      
          if-eq v0, v7, :cond_8c
      
          const/4 v2, 0x0
          invoke-virtual {v6, v2, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
          move-result-object v6
      
          :cond_8c
          new-instance v0, Ljava/lang/StringBuilder;
          invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
      
          invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
      
          if-eqz v10, :cond_a7
      
          const-string v2, " (אור ל-"
          invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
          invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
          const-string v2, ") "
          invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
          invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
          goto :goto_af
      
          :cond_a7
          const-string v2, " "
          invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
          invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
      
          :goto_af
          const-string v2, "\n"
          invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
          invoke-virtual {v0, p0}, 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_bc
          new-instance v0, Ljava/lang/StringBuilder;
          invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
          invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
          const-string v1, "\n"
          invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
          invoke-virtual {v0, p0}, 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
          :try_end_d1
          .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_d1} :catch_d1
      
          :catch_d1
          move-exception v0
          return-object p0
      .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
          invoke-virtual {v0, v1}, Ljava/util/Calendar;->get(I)I
          move-result v1
          const/16 v2, 0xb
          invoke-virtual {v0, v2}, Ljava/util/Calendar;->get(I)I
          move-result v2
          const/16 v3, 0xc
          invoke-virtual {v0, v3}, Ljava/util/Calendar;->get(I)I
          move-result v3
          invoke-virtual {v0}, Ljava/util/Calendar;->getTimeZone()Ljava/util/TimeZone;
          move-result-object v4
          invoke-virtual {v0}, Ljava/util/Calendar;->getTime()Ljava/util/Date;
          move-result-object v0
          invoke-virtual {v4, v0}, Ljava/util/TimeZone;->inDaylightTime(Ljava/util/Date;)Z
          move-result v0
      
          const-wide v4, 0x400921fb54442d18L
          const-wide/high16 v6, 0x4000000000000000L
          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
          div-double/2addr v4, v6
          invoke-static {v4, v5}, Ljava/lang/Math;->sin(D)D
          move-result-wide v4
          const-wide v6, 0x3ff0cccccccccccdL
          mul-double/2addr v4, v6
          const-wide v6, 0x403247ae147ae148L
          add-double/2addr v4, v6
      
          if-eqz v0, :cond_48
          const-wide/high16 v6, 0x3ff0000000000000L
          add-double/2addr v4, v6
          :cond_48
      
          double-to-int v0, v4
          int-to-double v6, v0
          sub-double/2addr v4, v6
          const-wide v6, 0x404e000000000000L
          mul-double/2addr v4, v6
          double-to-int v4, v4
          const/4 v5, 0x1
      
          if-le v2, v0, :cond_56
          return v5
      
          :cond_56
          if-ne v2, v0, :cond_5b
          if-lt v3, v4, :cond_5b
          return v5
      
          :cond_5b
          const/4 v0, 0x0
          return v0
      .end method
      

      אם אתם מעדיפים שהתאריך הלועזי יהיה למעלה, אז תקחו את הקוד שבספויילר במקום:

      .class public Lcom/android/launcher3/HebrewDateHelper;
      .super Ljava/lang/Object;
      
      # direct methods
      .method public static getCombinedDateString(Ljava/lang/String;)Ljava/lang/String;
          .registers 12
      
          :try_start_0
          new-instance v0, Landroid/icu/util/HebrewCalendar;
          invoke-direct {v0}, Landroid/icu/util/HebrewCalendar;-><init>()V
      
          new-instance v1, Landroid/icu/util/ULocale;
          const-string v2, "he_IL@calendar=hebrew"
          invoke-direct {v1, v2}, Landroid/icu/util/ULocale;-><init>(Ljava/lang/String;)V
      
          const/4 v2, 0x1
          invoke-static {v2, v1}, Landroid/icu/text/DateFormat;->getDateInstance(ILandroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;
          move-result-object v2
      
          invoke-static {}, Lcom/android/launcher3/HebrewDateHelper;->isAfterNightfall()Z
          move-result v3
          move v10, v3
      
          invoke-virtual {v0}, Landroid/icu/util/HebrewCalendar;->getTime()Ljava/util/Date;
          move-result-object v4
      
          invoke-virtual {v2, v4}, Landroid/icu/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
          move-result-object v3
      
          if-eqz v3, :cond_bc
      
          const/4 v4, 0x7
          invoke-virtual {v0, v4}, Landroid/icu/util/HebrewCalendar;->get(I)I
          move-result v5
      
          if-ne v5, v4, :cond_33
      
          if-eqz v10, :cond_33
      
          const-string/jumbo v4, "יום שבת"
          const-string/jumbo v5, "מוצאי שבת"
          invoke-virtual {v3, v4, v5}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
          move-result-object v3
      
          :cond_33
          const/16 v4, 0x20
          invoke-virtual {v3, v4}, Ljava/lang/String;->lastIndexOf(I)I
          move-result v4
      
          const-string v8, ""
          const-string v9, ""
          const/4 v5, -0x1
      
          if-eq v4, v5, :cond_4b
      
          const/4 v5, 0x0
          invoke-virtual {v3, v5, v4}, Ljava/lang/String;->substring(II)Ljava/lang/String;
          move-result-object v8
      
          add-int/lit8 v4, v4, 0x1
          invoke-virtual {v3, v4}, Ljava/lang/String;->substring(I)Ljava/lang/String;
          move-result-object v9
      
          :cond_4b
          const/4 v3, 0x2
          invoke-virtual {v0, v3}, Landroid/icu/util/HebrewCalendar;->get(I)I
          move-result v4
      
          const/4 v5, 0x5
          const/4 v6, 0x1
          invoke-virtual {v0, v5, v6}, Landroid/icu/util/HebrewCalendar;->add(II)V
      
          invoke-virtual {v0}, Landroid/icu/util/HebrewCalendar;->getTime()Ljava/util/Date;
          move-result-object v5
          invoke-virtual {v2, v5}, Landroid/icu/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
          move-result-object v6
      
          invoke-virtual {v0, v3}, Landroid/icu/util/HebrewCalendar;->get(I)I
          move-result v5
      
          const-string v0, ", "
          invoke-virtual {v6, v0}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
          move-result v0
      
          const/4 v7, -0x1
      
          if-eq v0, v7, :cond_70
      
          add-int/lit8 v0, v0, 0x2
          invoke-virtual {v6, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
          move-result-object v6
      
          :cond_70
          const/16 v0, 0x20
          invoke-virtual {v6, v0}, Ljava/lang/String;->lastIndexOf(I)I
          move-result v0
      
          if-eq v0, v7, :cond_7d
      
          const/4 v2, 0x0
          invoke-virtual {v6, v2, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
          move-result-object v6
      
          :cond_7d
          if-ne v4, v5, :cond_8c
      
          const/16 v0, 0x20
          invoke-virtual {v6, v0}, Ljava/lang/String;->indexOf(I)I
          move-result v0
      
          if-eq v0, v7, :cond_8c
      
          const/4 v2, 0x0
          invoke-virtual {v6, v2, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
          move-result-object v6
      
          :cond_8c
          new-instance v0, Ljava/lang/StringBuilder;
          invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
      
          invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
          const-string v2, "\n"
          invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
      
          invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
      
          if-eqz v10, :cond_a7
      
          const-string v2, " (אור ל-"
          invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
          invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
          const-string v2, ") "
          invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
          invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
          goto :goto_af
      
          :cond_a7
          const-string v2, " "
          invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
          invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
      
          :goto_af
          invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
          move-result-object v0
          return-object v0
      
          :cond_bc
          new-instance v0, Ljava/lang/StringBuilder;
          invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
      
          invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
          const-string v1, "\n"
          invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
          invoke-virtual {v0, v3}, 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
          :try_end_d1
          .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_d1} :catch_d1
      
          :catch_d1
          move-exception v0
          return-object p0
      .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
          invoke-virtual {v0, v1}, Ljava/util/Calendar;->get(I)I
          move-result v1
          const/16 v2, 0xb
          invoke-virtual {v0, v2}, Ljava/util/Calendar;->get(I)I
          move-result v2
          const/16 v3, 0xc
          invoke-virtual {v0, v3}, Ljava/util/Calendar;->get(I)I
          move-result v3
          invoke-virtual {v0}, Ljava/util/Calendar;->getTimeZone()Ljava/util/TimeZone;
          move-result-object v4
          invoke-virtual {v0}, Ljava/util/Calendar;->getTime()Ljava/util/Date;
          move-result-object v0
          invoke-virtual {v4, v0}, Ljava/util/TimeZone;->inDaylightTime(Ljava/util/Date;)Z
          move-result v0
      
          const-wide v4, 0x400921fb54442d18L
          const-wide/high16 v6, 0x4000000000000000L
          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
          div-double/2addr v4, v6
          invoke-static {v4, v5}, Ljava/lang/Math;->sin(D)D
          move-result-wide v4
          const-wide v6, 0x3ff0cccccccccccdL
          mul-double/2addr v4, v6
          const-wide v6, 0x403247ae147ae148L
          add-double/2addr v4, v6
      
          if-eqz v0, :cond_48
          const-wide/high16 v6, 0x3ff0000000000000L
          add-double/2addr v4, v6
          :cond_48
      
          double-to-int v0, v4
          int-to-double v6, v0
          sub-double/2addr v4, v6
          const-wide v6, 0x404e000000000000L
          mul-double/2addr v4, v6
          double-to-int v4, v4
          const/4 v5, 0x1
      
          if-le v2, v0, :cond_56
          return v5
      
          :cond_56
          if-ne v2, v0, :cond_5b
          if-lt v3, v4, :cond_5b
          return v5
      
          :cond_5b
          const/4 v0, 0x0
          return v0
      .end method
      

      1. להוסיף את הקלאס (באותו נתיב):
        WorkspaceDateReceiver
      .class public Lcom/android/launcher3/WorkspaceDateReceiver;
      .super Landroid/content/BroadcastReceiver;
      
      .field private final mWorkspace:Lcom/android/launcher3/Workspace;
      
      .method public constructor <init>(Lcom/android/launcher3/Workspace;)V
          .registers 2
      
          .line 1
          invoke-direct {p0}, Landroid/content/BroadcastReceiver;-><init>()V
      
          .line 2
          iput-object p1, p0, Lcom/android/launcher3/WorkspaceDateReceiver;->mWorkspace:Lcom/android/launcher3/Workspace;
      
          .line 3
          return-void
      .end method
      
      .method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
          .registers 3
      
          .line 1
          iget-object p1, p0, Lcom/android/launcher3/WorkspaceDateReceiver;->mWorkspace:Lcom/android/launcher3/Workspace;
      
          if-eqz p1, :cond_end
      
          .line 2
          invoke-virtual {p1}, Lcom/android/launcher3/Workspace;->refreshTime()V
      
          :cond_end
          return-void
      .end method
      
      1. בקלאס Workspace (שנמצא בנתיב כדלעיל):
        יחסית בתחילת הקלאס (בערך שורה 46)
        אחרי השורה
      # static fields
      

      להוסיף את השורה הזאת:

      .field private mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
      
      1. באותו קלאס
        במתודה insertNewWorkspaceScreen (הראשונה, נראית כך):
      .method public insertNewWorkspaceScreen(II)Lcom/android/launcher3/CellLayout;
      

      מתחת לשורה .line 728 ישנה השורה:

      invoke-virtual {v6, v5}, Landroid/widget/TextClock;->setFocusable(Z)V
      

      מיד אחריה להוסיף את השורות:

      # הזרקה: 2 שורות ומרכוז
          invoke-virtual {v6, v5}, Landroid/widget/TextClock;->setSingleLine(Z)V
          const/4 v7, 0x2
          invoke-virtual {v6, v7}, Landroid/widget/TextClock;->setMaxLines(I)V
          const/16 v7, 0x11
          invoke-virtual {v6, v7}, Landroid/widget/TextClock;->setGravity(I)V
      


      אמור להראות כך:

          .line 728
          invoke-virtual {v6, v5}, Landroid/widget/TextClock;->setFocusable(Z)V
          # הזרקה: 2 שורות ומרכוז
          invoke-virtual {v6, v5}, Landroid/widget/TextClock;->setSingleLine(Z)V
          const/4 v7, 0x2
          invoke-virtual {v6, v7}, Landroid/widget/TextClock;->setMaxLines(I)V
          const/16 v7, 0x11
          invoke-virtual {v6, v7}, Landroid/widget/TextClock;->setGravity(I)V
      

      1. באותו קלאס
        במתודה refreshTime
        א. לשנות את המתודה לpublic
        ב. לחפש את השורה הזאת:
      invoke-direct/range {p0 .. p0}, Lcom/android/launcher3/Workspace;->refreshTime()V
      

      ולהחליף עם זאת:

      invoke-virtual/range {p0 .. p0}, Lcom/android/launcher3/Workspace;->refreshTime()V
      

      ג. מיד אחרי השורה הזאת (היא נמצאת פעמיים, לבצע על שני השורות שתמצאו):

      sget-object v1, Lcom/android/launcher3/Workspace$Patterns;->dateView:Ljava/lang/String;
      
      

      להוסיף את הקוד:

      invoke-static {v1}, Lcom/android/launcher3/HebrewDateHelper;->getCombinedDateString(Ljava/lang/String;)Ljava/lang/String;
          move-result-object v1
      


      בסוף המתודה אמורה להראות כך:

      .method public refreshTime()V
          .registers 4
      
          .line 779
          invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getContext()Landroid/content/Context;
      
          move-result-object v0
      
          invoke-static {v0}, Lcom/android/launcher3/Workspace$Patterns;->update(Landroid/content/Context;)V
      
          .line 780
          iget-object v0, p0, Lcom/android/launcher3/Workspace;->mDateView:Landroid/widget/TextClock;
      
          sget-object v1, Lcom/android/launcher3/Workspace$Patterns;->dateView:Ljava/lang/String;
      
          # הזרקת התאריך העברי לפורמט 24 שעות
          invoke-static {v1}, Lcom/android/launcher3/HebrewDateHelper;->getCombinedDateString(Ljava/lang/String;)Ljava/lang/String;
          move-result-object v1
      
          invoke-virtual {v0, v1}, Landroid/widget/TextClock;->setFormat24Hour(Ljava/lang/CharSequence;)V
      
          .line 781
          iget-object v0, p0, Lcom/android/launcher3/Workspace;->mDateView:Landroid/widget/TextClock;
      
          sget-object v1, Lcom/android/launcher3/Workspace$Patterns;->dateView:Ljava/lang/String;
      
          # הזרקת התאריך העברי לפורמט 12 שעות
          invoke-static {v1}, Lcom/android/launcher3/HebrewDateHelper;->getCombinedDateString(Ljava/lang/String;)Ljava/lang/String;
          move-result-object v1
      
          invoke-virtual {v0, v1}, Landroid/widget/TextClock;->setFormat12Hour(Ljava/lang/CharSequence;)V
      
          .line 783
          iget-object v0, p0, Lcom/android/launcher3/Workspace;->mClockView:Landroid/widget/TextClock;
      
          .line 784
          invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getResources()Landroid/content/res/Resources;
      
          move-result-object v1
      
          sget v2, Lcom/android/launcher3/R$dimen;->am_pm_widget_font_size:I
      
          invoke-virtual {v1, v2}, Landroid/content/res/Resources;->getDimension(I)F
      
          move-result v1
      
          float-to-int v1, v1
      
          sget-object v2, Lcom/android/launcher3/Workspace$Patterns;->clockView12:Ljava/lang/String;
      
          .line 783
          invoke-virtual {p0, v1, v2}, Lcom/android/launcher3/Workspace;->updateAmPmTextSize(ILjava/lang/String;)Ljava/lang/CharSequence;
      
          move-result-object v1
      
          invoke-virtual {v0, v1}, Landroid/widget/TextClock;->setFormat12Hour(Ljava/lang/CharSequence;)V
      
          .line 785
          iget-object v0, p0, Lcom/android/launcher3/Workspace;->mClockView:Landroid/widget/TextClock;
      
          sget-object v1, Lcom/android/launcher3/Workspace$Patterns;->clockView24:Ljava/lang/String;
      
          invoke-virtual {v0, v1}, Landroid/widget/TextClock;->setFormat24Hour(Ljava/lang/CharSequence;)V
      
          .line 788
          return-void
      .end method
      

      1. במתודה onAttachedToWindow
        א. להוסיף רגיסטר אחד (להחליף מ3 ל4).
        ב. בסוף המתודה ממש לפני return-void, להוסיף את הקוד:
      # הזרקה: רישום המאזין
          new-instance v0, Lcom/android/launcher3/WorkspaceDateReceiver;
          invoke-direct {v0, p0}, Lcom/android/launcher3/WorkspaceDateReceiver;-><init>(Lcom/android/launcher3/Workspace;)V
          iput-object v0, p0, Lcom/android/launcher3/Workspace;->mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
      
          new-instance v1, Landroid/content/IntentFilter;
          invoke-direct {v1}, Landroid/content/IntentFilter;-><init>()V
      
          const-string v2, "android.intent.action.TIME_TICK"
          invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
      
          const-string v2, "android.intent.action.TIME_SET"
          invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
      
          const-string v2, "android.intent.action.TIMEZONE_CHANGED"
          invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
      
          const-string v2, "android.intent.action.DATE_CHANGED"
          invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
      
          invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getContext()Landroid/content/Context;
          move-result-object v2
          invoke-virtual {v2, v0, v1}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
      


      בסוף המתודה אמורה להראות כך:

      .method protected onAttachedToWindow()V
          .registers 4
      
          .line 1490
          invoke-super {p0}, Lcom/android/launcher3/PagedView;->onAttachedToWindow()V
      
          .line 1491
          iget-object v0, p0, Lcom/android/launcher3/Workspace;->mWallpaperOffset:Lcom/android/launcher3/util/WallpaperOffsetInterpolator;
      
          invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getWindowToken()Landroid/os/IBinder;
      
          move-result-object v1
      
          invoke-virtual {v0, v1}, Lcom/android/launcher3/util/WallpaperOffsetInterpolator;->setWindowToken(Landroid/os/IBinder;)V
      
          .line 1492
          invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->computeScroll()V
      
          # רישום המאזין לאירועי שעון
          new-instance v0, Lcom/android/launcher3/WorkspaceDateReceiver;
          invoke-direct {v0, p0}, Lcom/android/launcher3/WorkspaceDateReceiver;-><init>(Lcom/android/launcher3/Workspace;)V
          iput-object v0, p0, Lcom/android/launcher3/Workspace;->mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
      
          new-instance v1, Landroid/content/IntentFilter;
          invoke-direct {v1}, Landroid/content/IntentFilter;-><init>()V
      
          const-string v2, "android.intent.action.TIME_TICK"
          invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
      
          const-string v2, "android.intent.action.TIME_SET"
          invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
      
          const-string v2, "android.intent.action.TIMEZONE_CHANGED"
          invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
      
          const-string v2, "android.intent.action.DATE_CHANGED"
          invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
      
          invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getContext()Landroid/content/Context;
          move-result-object v2
          invoke-virtual {v2, v0, v1}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
      
          .line 1493
          return-void
      .end method
      

      1. במתודה onDetachedFromWindow (נמצאת ממש אחרי המתודה הקודמת)
        כמו קודם, בסוף המתודה ממש לפני הreturn-void, להוסיף את הקוד הבא:
      # הזרקה: ביטול המאזין
          iget-object v0, p0, Lcom/android/launcher3/Workspace;->mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
          if-eqz v0, :cond_unregister_end
      
          invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getContext()Landroid/content/Context;
          move-result-object v1
          invoke-virtual {v1, v0}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
      
          const/4 v0, 0x0
          iput-object v0, p0, Lcom/android/launcher3/Workspace;->mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
      
          :cond_unregister_end
      


      בסוף המתודה אמורה להראות כך:

      .method protected onDetachedFromWindow()V
          .registers 3
      
          .line 1496
          invoke-super {p0}, Lcom/android/launcher3/PagedView;->onDetachedFromWindow()V
      
          .line 1497
          iget-object v0, p0, Lcom/android/launcher3/Workspace;->mWallpaperOffset:Lcom/android/launcher3/util/WallpaperOffsetInterpolator;
      
          const/4 v1, 0x0
      
          invoke-virtual {v0, v1}, Lcom/android/launcher3/util/WallpaperOffsetInterpolator;->setWindowToken(Landroid/os/IBinder;)V
      
          # מחיקת המאזין כדי למנוע דליפת זיכרון
          iget-object v0, p0, Lcom/android/launcher3/Workspace;->mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
          if-eqz v0, :cond_unregister_end
      
          invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getContext()Landroid/content/Context;
          move-result-object v1
          invoke-virtual {v1, v0}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
      
          const/4 v0, 0x0
          iput-object v0, p0, Lcom/android/launcher3/Workspace;->mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
      
          :cond_unregister_end
      
          .line 1498
          return-void
      .end method
      

      בהצלחה!

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

      @lilo159 מה גורם שבחלק מהגרסאות העברי מעל ובחלק הלועזי מעל?

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

        @lilo159 מה גורם שבחלק מהגרסאות העברי מעל ובחלק הלועזי מעל?

        L מנותק
        L מנותק
        lilo159
        כתב נערך לאחרונה על ידי
        #3

        @מחנה-ידידים ההחלטה של מי שערך..
        אם זה חשוב לך אפשר לשנות, לי היה חשוב שהתאריך העברי יהיה מעל..

        מ תגובה 1 תגובה אחרונה
        0
        • L lilo159

          @מחנה-ידידים ההחלטה של מי שערך..
          אם זה חשוב לך אפשר לשנות, לי היה חשוב שהתאריך העברי יהיה מעל..

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

          @lilo159 נראה לי שכדאי שתוסיף במדריך איך לעשות למעלה ואיך למטה.

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

            @lilo159 נראה לי שכדאי שתוסיף במדריך איך לעשות למעלה ואיך למטה.

            L מנותק
            L מנותק
            lilo159
            כתב נערך לאחרונה על ידי lilo159
            #5

            @מחנה-ידידים הוספתי בספויילר.
            לא ניסיתי, אבל זה אמור לעבוד.

            תגובה 1 תגובה אחרונה
            2
            • L lilo159

              בהמשך למדריך | הוספת תאריך עברי למסך הבית בדאמבדרויד
              b7d05bf9-70c4-46c4-8782-188973bae653-image.png
              אז משום מה, אתם עדיין משתמשים בגרסה הרגילה של F21 PRO..
              לא נורא, מתי שהוא גם אתם תתקדמו..

              בכל מקרה, לבינתיים:

              כרגיל, הAI הוא המתכנת, אבל האחריות אצלו היא לא טעות סופר..

              לשינויים:
              האפליקציה שאנחנו עורכים היא הלאנצ'ר, שנמצא בנתיב:
              /system_ext/priv-app/Launcher3QuickStep

              כל הקלאסים שנערכים או נוספים, נמצאים בנתיב:
              com/android/launcher3

              1. להוסיף את הקלאס HebrewDateHelper (בנתיב com/android/launcher3):
              .class public Lcom/android/launcher3/HebrewDateHelper;
              .super Ljava/lang/Object;
              
              # direct methods
              .method public static getCombinedDateString(Ljava/lang/String;)Ljava/lang/String;
                  .registers 12
              
                  :try_start_0
                  new-instance v0, Landroid/icu/util/HebrewCalendar;
                  invoke-direct {v0}, Landroid/icu/util/HebrewCalendar;-><init>()V
              
                  new-instance v1, Landroid/icu/util/ULocale;
                  const-string v2, "he_IL@calendar=hebrew"
                  invoke-direct {v1, v2}, Landroid/icu/util/ULocale;-><init>(Ljava/lang/String;)V
              
                  const/4 v2, 0x1
                  invoke-static {v2, v1}, Landroid/icu/text/DateFormat;->getDateInstance(ILandroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;
                  move-result-object v2
              
                  invoke-static {}, Lcom/android/launcher3/HebrewDateHelper;->isAfterNightfall()Z
                  move-result v3
                  move v10, v3
              
                  invoke-virtual {v0}, Landroid/icu/util/HebrewCalendar;->getTime()Ljava/util/Date;
                  move-result-object v4
              
                  invoke-virtual {v2, v4}, Landroid/icu/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
                  move-result-object v3
              
                  if-eqz v3, :cond_bc
              
                  const/4 v4, 0x7
                  invoke-virtual {v0, v4}, Landroid/icu/util/HebrewCalendar;->get(I)I
                  move-result v5
              
                  if-ne v5, v4, :cond_33
              
                  if-eqz v10, :cond_33
              
                  const-string/jumbo v4, "יום שבת"
                  const-string/jumbo v5, "מוצאי שבת"
                  invoke-virtual {v3, v4, v5}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
                  move-result-object v3
              
                  :cond_33
                  const/16 v4, 0x20
                  invoke-virtual {v3, v4}, Ljava/lang/String;->lastIndexOf(I)I
                  move-result v4
              
                  const-string v8, ""
                  const-string v9, ""
                  const/4 v5, -0x1
              
                  if-eq v4, v5, :cond_4b
              
                  const/4 v5, 0x0
                  invoke-virtual {v3, v5, v4}, Ljava/lang/String;->substring(II)Ljava/lang/String;
                  move-result-object v8
              
                  add-int/lit8 v4, v4, 0x1
                  invoke-virtual {v3, v4}, Ljava/lang/String;->substring(I)Ljava/lang/String;
                  move-result-object v9
              
                  :cond_4b
                  const/4 v3, 0x2
                  invoke-virtual {v0, v3}, Landroid/icu/util/HebrewCalendar;->get(I)I
                  move-result v4
              
                  const/4 v5, 0x5
                  const/4 v6, 0x1
                  invoke-virtual {v0, v5, v6}, Landroid/icu/util/HebrewCalendar;->add(II)V
              
                  invoke-virtual {v0}, Landroid/icu/util/HebrewCalendar;->getTime()Ljava/util/Date;
                  move-result-object v5
                  invoke-virtual {v2, v5}, Landroid/icu/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
                  move-result-object v6
              
                  invoke-virtual {v0, v3}, Landroid/icu/util/HebrewCalendar;->get(I)I
                  move-result v5
              
                  const-string v0, ", "
                  invoke-virtual {v6, v0}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
                  move-result v0
              
                  const/4 v7, -0x1
              
                  if-eq v0, v7, :cond_70
              
                  add-int/lit8 v0, v0, 0x2
                  invoke-virtual {v6, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
                  move-result-object v6
              
                  :cond_70
                  const/16 v0, 0x20
                  invoke-virtual {v6, v0}, Ljava/lang/String;->lastIndexOf(I)I
                  move-result v0
              
                  if-eq v0, v7, :cond_7d
              
                  const/4 v2, 0x0
                  invoke-virtual {v6, v2, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
                  move-result-object v6
              
                  :cond_7d
                  if-ne v4, v5, :cond_8c
              
                  const/16 v0, 0x20
                  invoke-virtual {v6, v0}, Ljava/lang/String;->indexOf(I)I
                  move-result v0
              
                  if-eq v0, v7, :cond_8c
              
                  const/4 v2, 0x0
                  invoke-virtual {v6, v2, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
                  move-result-object v6
              
                  :cond_8c
                  new-instance v0, Ljava/lang/StringBuilder;
                  invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
              
                  invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
              
                  if-eqz v10, :cond_a7
              
                  const-string v2, " (אור ל-"
                  invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                  invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                  const-string v2, ") "
                  invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                  invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                  goto :goto_af
              
                  :cond_a7
                  const-string v2, " "
                  invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                  invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
              
                  :goto_af
                  const-string v2, "\n"
                  invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                  invoke-virtual {v0, p0}, 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_bc
                  new-instance v0, Ljava/lang/StringBuilder;
                  invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
                  invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                  const-string v1, "\n"
                  invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                  invoke-virtual {v0, p0}, 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
                  :try_end_d1
                  .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_d1} :catch_d1
              
                  :catch_d1
                  move-exception v0
                  return-object p0
              .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
                  invoke-virtual {v0, v1}, Ljava/util/Calendar;->get(I)I
                  move-result v1
                  const/16 v2, 0xb
                  invoke-virtual {v0, v2}, Ljava/util/Calendar;->get(I)I
                  move-result v2
                  const/16 v3, 0xc
                  invoke-virtual {v0, v3}, Ljava/util/Calendar;->get(I)I
                  move-result v3
                  invoke-virtual {v0}, Ljava/util/Calendar;->getTimeZone()Ljava/util/TimeZone;
                  move-result-object v4
                  invoke-virtual {v0}, Ljava/util/Calendar;->getTime()Ljava/util/Date;
                  move-result-object v0
                  invoke-virtual {v4, v0}, Ljava/util/TimeZone;->inDaylightTime(Ljava/util/Date;)Z
                  move-result v0
              
                  const-wide v4, 0x400921fb54442d18L
                  const-wide/high16 v6, 0x4000000000000000L
                  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
                  div-double/2addr v4, v6
                  invoke-static {v4, v5}, Ljava/lang/Math;->sin(D)D
                  move-result-wide v4
                  const-wide v6, 0x3ff0cccccccccccdL
                  mul-double/2addr v4, v6
                  const-wide v6, 0x403247ae147ae148L
                  add-double/2addr v4, v6
              
                  if-eqz v0, :cond_48
                  const-wide/high16 v6, 0x3ff0000000000000L
                  add-double/2addr v4, v6
                  :cond_48
              
                  double-to-int v0, v4
                  int-to-double v6, v0
                  sub-double/2addr v4, v6
                  const-wide v6, 0x404e000000000000L
                  mul-double/2addr v4, v6
                  double-to-int v4, v4
                  const/4 v5, 0x1
              
                  if-le v2, v0, :cond_56
                  return v5
              
                  :cond_56
                  if-ne v2, v0, :cond_5b
                  if-lt v3, v4, :cond_5b
                  return v5
              
                  :cond_5b
                  const/4 v0, 0x0
                  return v0
              .end method
              

              אם אתם מעדיפים שהתאריך הלועזי יהיה למעלה, אז תקחו את הקוד שבספויילר במקום:

              .class public Lcom/android/launcher3/HebrewDateHelper;
              .super Ljava/lang/Object;
              
              # direct methods
              .method public static getCombinedDateString(Ljava/lang/String;)Ljava/lang/String;
                  .registers 12
              
                  :try_start_0
                  new-instance v0, Landroid/icu/util/HebrewCalendar;
                  invoke-direct {v0}, Landroid/icu/util/HebrewCalendar;-><init>()V
              
                  new-instance v1, Landroid/icu/util/ULocale;
                  const-string v2, "he_IL@calendar=hebrew"
                  invoke-direct {v1, v2}, Landroid/icu/util/ULocale;-><init>(Ljava/lang/String;)V
              
                  const/4 v2, 0x1
                  invoke-static {v2, v1}, Landroid/icu/text/DateFormat;->getDateInstance(ILandroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;
                  move-result-object v2
              
                  invoke-static {}, Lcom/android/launcher3/HebrewDateHelper;->isAfterNightfall()Z
                  move-result v3
                  move v10, v3
              
                  invoke-virtual {v0}, Landroid/icu/util/HebrewCalendar;->getTime()Ljava/util/Date;
                  move-result-object v4
              
                  invoke-virtual {v2, v4}, Landroid/icu/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
                  move-result-object v3
              
                  if-eqz v3, :cond_bc
              
                  const/4 v4, 0x7
                  invoke-virtual {v0, v4}, Landroid/icu/util/HebrewCalendar;->get(I)I
                  move-result v5
              
                  if-ne v5, v4, :cond_33
              
                  if-eqz v10, :cond_33
              
                  const-string/jumbo v4, "יום שבת"
                  const-string/jumbo v5, "מוצאי שבת"
                  invoke-virtual {v3, v4, v5}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
                  move-result-object v3
              
                  :cond_33
                  const/16 v4, 0x20
                  invoke-virtual {v3, v4}, Ljava/lang/String;->lastIndexOf(I)I
                  move-result v4
              
                  const-string v8, ""
                  const-string v9, ""
                  const/4 v5, -0x1
              
                  if-eq v4, v5, :cond_4b
              
                  const/4 v5, 0x0
                  invoke-virtual {v3, v5, v4}, Ljava/lang/String;->substring(II)Ljava/lang/String;
                  move-result-object v8
              
                  add-int/lit8 v4, v4, 0x1
                  invoke-virtual {v3, v4}, Ljava/lang/String;->substring(I)Ljava/lang/String;
                  move-result-object v9
              
                  :cond_4b
                  const/4 v3, 0x2
                  invoke-virtual {v0, v3}, Landroid/icu/util/HebrewCalendar;->get(I)I
                  move-result v4
              
                  const/4 v5, 0x5
                  const/4 v6, 0x1
                  invoke-virtual {v0, v5, v6}, Landroid/icu/util/HebrewCalendar;->add(II)V
              
                  invoke-virtual {v0}, Landroid/icu/util/HebrewCalendar;->getTime()Ljava/util/Date;
                  move-result-object v5
                  invoke-virtual {v2, v5}, Landroid/icu/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
                  move-result-object v6
              
                  invoke-virtual {v0, v3}, Landroid/icu/util/HebrewCalendar;->get(I)I
                  move-result v5
              
                  const-string v0, ", "
                  invoke-virtual {v6, v0}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
                  move-result v0
              
                  const/4 v7, -0x1
              
                  if-eq v0, v7, :cond_70
              
                  add-int/lit8 v0, v0, 0x2
                  invoke-virtual {v6, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
                  move-result-object v6
              
                  :cond_70
                  const/16 v0, 0x20
                  invoke-virtual {v6, v0}, Ljava/lang/String;->lastIndexOf(I)I
                  move-result v0
              
                  if-eq v0, v7, :cond_7d
              
                  const/4 v2, 0x0
                  invoke-virtual {v6, v2, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
                  move-result-object v6
              
                  :cond_7d
                  if-ne v4, v5, :cond_8c
              
                  const/16 v0, 0x20
                  invoke-virtual {v6, v0}, Ljava/lang/String;->indexOf(I)I
                  move-result v0
              
                  if-eq v0, v7, :cond_8c
              
                  const/4 v2, 0x0
                  invoke-virtual {v6, v2, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
                  move-result-object v6
              
                  :cond_8c
                  new-instance v0, Ljava/lang/StringBuilder;
                  invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
              
                  invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                  const-string v2, "\n"
                  invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
              
                  invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
              
                  if-eqz v10, :cond_a7
              
                  const-string v2, " (אור ל-"
                  invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                  invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                  const-string v2, ") "
                  invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                  invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                  goto :goto_af
              
                  :cond_a7
                  const-string v2, " "
                  invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                  invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
              
                  :goto_af
                  invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
                  move-result-object v0
                  return-object v0
              
                  :cond_bc
                  new-instance v0, Ljava/lang/StringBuilder;
                  invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
              
                  invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                  const-string v1, "\n"
                  invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                  invoke-virtual {v0, v3}, 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
                  :try_end_d1
                  .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_d1} :catch_d1
              
                  :catch_d1
                  move-exception v0
                  return-object p0
              .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
                  invoke-virtual {v0, v1}, Ljava/util/Calendar;->get(I)I
                  move-result v1
                  const/16 v2, 0xb
                  invoke-virtual {v0, v2}, Ljava/util/Calendar;->get(I)I
                  move-result v2
                  const/16 v3, 0xc
                  invoke-virtual {v0, v3}, Ljava/util/Calendar;->get(I)I
                  move-result v3
                  invoke-virtual {v0}, Ljava/util/Calendar;->getTimeZone()Ljava/util/TimeZone;
                  move-result-object v4
                  invoke-virtual {v0}, Ljava/util/Calendar;->getTime()Ljava/util/Date;
                  move-result-object v0
                  invoke-virtual {v4, v0}, Ljava/util/TimeZone;->inDaylightTime(Ljava/util/Date;)Z
                  move-result v0
              
                  const-wide v4, 0x400921fb54442d18L
                  const-wide/high16 v6, 0x4000000000000000L
                  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
                  div-double/2addr v4, v6
                  invoke-static {v4, v5}, Ljava/lang/Math;->sin(D)D
                  move-result-wide v4
                  const-wide v6, 0x3ff0cccccccccccdL
                  mul-double/2addr v4, v6
                  const-wide v6, 0x403247ae147ae148L
                  add-double/2addr v4, v6
              
                  if-eqz v0, :cond_48
                  const-wide/high16 v6, 0x3ff0000000000000L
                  add-double/2addr v4, v6
                  :cond_48
              
                  double-to-int v0, v4
                  int-to-double v6, v0
                  sub-double/2addr v4, v6
                  const-wide v6, 0x404e000000000000L
                  mul-double/2addr v4, v6
                  double-to-int v4, v4
                  const/4 v5, 0x1
              
                  if-le v2, v0, :cond_56
                  return v5
              
                  :cond_56
                  if-ne v2, v0, :cond_5b
                  if-lt v3, v4, :cond_5b
                  return v5
              
                  :cond_5b
                  const/4 v0, 0x0
                  return v0
              .end method
              

              1. להוסיף את הקלאס (באותו נתיב):
                WorkspaceDateReceiver
              .class public Lcom/android/launcher3/WorkspaceDateReceiver;
              .super Landroid/content/BroadcastReceiver;
              
              .field private final mWorkspace:Lcom/android/launcher3/Workspace;
              
              .method public constructor <init>(Lcom/android/launcher3/Workspace;)V
                  .registers 2
              
                  .line 1
                  invoke-direct {p0}, Landroid/content/BroadcastReceiver;-><init>()V
              
                  .line 2
                  iput-object p1, p0, Lcom/android/launcher3/WorkspaceDateReceiver;->mWorkspace:Lcom/android/launcher3/Workspace;
              
                  .line 3
                  return-void
              .end method
              
              .method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
                  .registers 3
              
                  .line 1
                  iget-object p1, p0, Lcom/android/launcher3/WorkspaceDateReceiver;->mWorkspace:Lcom/android/launcher3/Workspace;
              
                  if-eqz p1, :cond_end
              
                  .line 2
                  invoke-virtual {p1}, Lcom/android/launcher3/Workspace;->refreshTime()V
              
                  :cond_end
                  return-void
              .end method
              
              1. בקלאס Workspace (שנמצא בנתיב כדלעיל):
                יחסית בתחילת הקלאס (בערך שורה 46)
                אחרי השורה
              # static fields
              

              להוסיף את השורה הזאת:

              .field private mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
              
              1. באותו קלאס
                במתודה insertNewWorkspaceScreen (הראשונה, נראית כך):
              .method public insertNewWorkspaceScreen(II)Lcom/android/launcher3/CellLayout;
              

              מתחת לשורה .line 728 ישנה השורה:

              invoke-virtual {v6, v5}, Landroid/widget/TextClock;->setFocusable(Z)V
              

              מיד אחריה להוסיף את השורות:

              # הזרקה: 2 שורות ומרכוז
                  invoke-virtual {v6, v5}, Landroid/widget/TextClock;->setSingleLine(Z)V
                  const/4 v7, 0x2
                  invoke-virtual {v6, v7}, Landroid/widget/TextClock;->setMaxLines(I)V
                  const/16 v7, 0x11
                  invoke-virtual {v6, v7}, Landroid/widget/TextClock;->setGravity(I)V
              


              אמור להראות כך:

                  .line 728
                  invoke-virtual {v6, v5}, Landroid/widget/TextClock;->setFocusable(Z)V
                  # הזרקה: 2 שורות ומרכוז
                  invoke-virtual {v6, v5}, Landroid/widget/TextClock;->setSingleLine(Z)V
                  const/4 v7, 0x2
                  invoke-virtual {v6, v7}, Landroid/widget/TextClock;->setMaxLines(I)V
                  const/16 v7, 0x11
                  invoke-virtual {v6, v7}, Landroid/widget/TextClock;->setGravity(I)V
              

              1. באותו קלאס
                במתודה refreshTime
                א. לשנות את המתודה לpublic
                ב. לחפש את השורה הזאת:
              invoke-direct/range {p0 .. p0}, Lcom/android/launcher3/Workspace;->refreshTime()V
              

              ולהחליף עם זאת:

              invoke-virtual/range {p0 .. p0}, Lcom/android/launcher3/Workspace;->refreshTime()V
              

              ג. מיד אחרי השורה הזאת (היא נמצאת פעמיים, לבצע על שני השורות שתמצאו):

              sget-object v1, Lcom/android/launcher3/Workspace$Patterns;->dateView:Ljava/lang/String;
              
              

              להוסיף את הקוד:

              invoke-static {v1}, Lcom/android/launcher3/HebrewDateHelper;->getCombinedDateString(Ljava/lang/String;)Ljava/lang/String;
                  move-result-object v1
              


              בסוף המתודה אמורה להראות כך:

              .method public refreshTime()V
                  .registers 4
              
                  .line 779
                  invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getContext()Landroid/content/Context;
              
                  move-result-object v0
              
                  invoke-static {v0}, Lcom/android/launcher3/Workspace$Patterns;->update(Landroid/content/Context;)V
              
                  .line 780
                  iget-object v0, p0, Lcom/android/launcher3/Workspace;->mDateView:Landroid/widget/TextClock;
              
                  sget-object v1, Lcom/android/launcher3/Workspace$Patterns;->dateView:Ljava/lang/String;
              
                  # הזרקת התאריך העברי לפורמט 24 שעות
                  invoke-static {v1}, Lcom/android/launcher3/HebrewDateHelper;->getCombinedDateString(Ljava/lang/String;)Ljava/lang/String;
                  move-result-object v1
              
                  invoke-virtual {v0, v1}, Landroid/widget/TextClock;->setFormat24Hour(Ljava/lang/CharSequence;)V
              
                  .line 781
                  iget-object v0, p0, Lcom/android/launcher3/Workspace;->mDateView:Landroid/widget/TextClock;
              
                  sget-object v1, Lcom/android/launcher3/Workspace$Patterns;->dateView:Ljava/lang/String;
              
                  # הזרקת התאריך העברי לפורמט 12 שעות
                  invoke-static {v1}, Lcom/android/launcher3/HebrewDateHelper;->getCombinedDateString(Ljava/lang/String;)Ljava/lang/String;
                  move-result-object v1
              
                  invoke-virtual {v0, v1}, Landroid/widget/TextClock;->setFormat12Hour(Ljava/lang/CharSequence;)V
              
                  .line 783
                  iget-object v0, p0, Lcom/android/launcher3/Workspace;->mClockView:Landroid/widget/TextClock;
              
                  .line 784
                  invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getResources()Landroid/content/res/Resources;
              
                  move-result-object v1
              
                  sget v2, Lcom/android/launcher3/R$dimen;->am_pm_widget_font_size:I
              
                  invoke-virtual {v1, v2}, Landroid/content/res/Resources;->getDimension(I)F
              
                  move-result v1
              
                  float-to-int v1, v1
              
                  sget-object v2, Lcom/android/launcher3/Workspace$Patterns;->clockView12:Ljava/lang/String;
              
                  .line 783
                  invoke-virtual {p0, v1, v2}, Lcom/android/launcher3/Workspace;->updateAmPmTextSize(ILjava/lang/String;)Ljava/lang/CharSequence;
              
                  move-result-object v1
              
                  invoke-virtual {v0, v1}, Landroid/widget/TextClock;->setFormat12Hour(Ljava/lang/CharSequence;)V
              
                  .line 785
                  iget-object v0, p0, Lcom/android/launcher3/Workspace;->mClockView:Landroid/widget/TextClock;
              
                  sget-object v1, Lcom/android/launcher3/Workspace$Patterns;->clockView24:Ljava/lang/String;
              
                  invoke-virtual {v0, v1}, Landroid/widget/TextClock;->setFormat24Hour(Ljava/lang/CharSequence;)V
              
                  .line 788
                  return-void
              .end method
              

              1. במתודה onAttachedToWindow
                א. להוסיף רגיסטר אחד (להחליף מ3 ל4).
                ב. בסוף המתודה ממש לפני return-void, להוסיף את הקוד:
              # הזרקה: רישום המאזין
                  new-instance v0, Lcom/android/launcher3/WorkspaceDateReceiver;
                  invoke-direct {v0, p0}, Lcom/android/launcher3/WorkspaceDateReceiver;-><init>(Lcom/android/launcher3/Workspace;)V
                  iput-object v0, p0, Lcom/android/launcher3/Workspace;->mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
              
                  new-instance v1, Landroid/content/IntentFilter;
                  invoke-direct {v1}, Landroid/content/IntentFilter;-><init>()V
              
                  const-string v2, "android.intent.action.TIME_TICK"
                  invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
              
                  const-string v2, "android.intent.action.TIME_SET"
                  invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
              
                  const-string v2, "android.intent.action.TIMEZONE_CHANGED"
                  invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
              
                  const-string v2, "android.intent.action.DATE_CHANGED"
                  invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
              
                  invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getContext()Landroid/content/Context;
                  move-result-object v2
                  invoke-virtual {v2, v0, v1}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
              


              בסוף המתודה אמורה להראות כך:

              .method protected onAttachedToWindow()V
                  .registers 4
              
                  .line 1490
                  invoke-super {p0}, Lcom/android/launcher3/PagedView;->onAttachedToWindow()V
              
                  .line 1491
                  iget-object v0, p0, Lcom/android/launcher3/Workspace;->mWallpaperOffset:Lcom/android/launcher3/util/WallpaperOffsetInterpolator;
              
                  invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getWindowToken()Landroid/os/IBinder;
              
                  move-result-object v1
              
                  invoke-virtual {v0, v1}, Lcom/android/launcher3/util/WallpaperOffsetInterpolator;->setWindowToken(Landroid/os/IBinder;)V
              
                  .line 1492
                  invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->computeScroll()V
              
                  # רישום המאזין לאירועי שעון
                  new-instance v0, Lcom/android/launcher3/WorkspaceDateReceiver;
                  invoke-direct {v0, p0}, Lcom/android/launcher3/WorkspaceDateReceiver;-><init>(Lcom/android/launcher3/Workspace;)V
                  iput-object v0, p0, Lcom/android/launcher3/Workspace;->mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
              
                  new-instance v1, Landroid/content/IntentFilter;
                  invoke-direct {v1}, Landroid/content/IntentFilter;-><init>()V
              
                  const-string v2, "android.intent.action.TIME_TICK"
                  invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
              
                  const-string v2, "android.intent.action.TIME_SET"
                  invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
              
                  const-string v2, "android.intent.action.TIMEZONE_CHANGED"
                  invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
              
                  const-string v2, "android.intent.action.DATE_CHANGED"
                  invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
              
                  invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getContext()Landroid/content/Context;
                  move-result-object v2
                  invoke-virtual {v2, v0, v1}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
              
                  .line 1493
                  return-void
              .end method
              

              1. במתודה onDetachedFromWindow (נמצאת ממש אחרי המתודה הקודמת)
                כמו קודם, בסוף המתודה ממש לפני הreturn-void, להוסיף את הקוד הבא:
              # הזרקה: ביטול המאזין
                  iget-object v0, p0, Lcom/android/launcher3/Workspace;->mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
                  if-eqz v0, :cond_unregister_end
              
                  invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getContext()Landroid/content/Context;
                  move-result-object v1
                  invoke-virtual {v1, v0}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
              
                  const/4 v0, 0x0
                  iput-object v0, p0, Lcom/android/launcher3/Workspace;->mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
              
                  :cond_unregister_end
              


              בסוף המתודה אמורה להראות כך:

              .method protected onDetachedFromWindow()V
                  .registers 3
              
                  .line 1496
                  invoke-super {p0}, Lcom/android/launcher3/PagedView;->onDetachedFromWindow()V
              
                  .line 1497
                  iget-object v0, p0, Lcom/android/launcher3/Workspace;->mWallpaperOffset:Lcom/android/launcher3/util/WallpaperOffsetInterpolator;
              
                  const/4 v1, 0x0
              
                  invoke-virtual {v0, v1}, Lcom/android/launcher3/util/WallpaperOffsetInterpolator;->setWindowToken(Landroid/os/IBinder;)V
              
                  # מחיקת המאזין כדי למנוע דליפת זיכרון
                  iget-object v0, p0, Lcom/android/launcher3/Workspace;->mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
                  if-eqz v0, :cond_unregister_end
              
                  invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getContext()Landroid/content/Context;
                  move-result-object v1
                  invoke-virtual {v1, v0}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
              
                  const/4 v0, 0x0
                  iput-object v0, p0, Lcom/android/launcher3/Workspace;->mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
              
                  :cond_unregister_end
              
                  .line 1498
                  return-void
              .end method
              

              בהצלחה!

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

              @lilo159 אשמח אם תסביר מה זה בעצם עושה,
              כאילו מאיפה נשאב התאריך העברי

              L תגובה 1 תגובה אחרונה
              0
              • ח חד גדיא

                @lilo159 אשמח אם תסביר מה זה בעצם עושה,
                כאילו מאיפה נשאב התאריך העברי

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

                @חד-גדיא לפי הבנתי המועטה, ישנה ספריה מובנית באנדרואיד שנקראת icu, ומשם נשאב התאריך העברי.

                מ תגובה 1 תגובה אחרונה
                0
                • L lilo159

                  @חד-גדיא לפי הבנתי המועטה, ישנה ספריה מובנית באנדרואיד שנקראת icu, ומשם נשאב התאריך העברי.

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

                  @lilo159 א' תודה, עובד לי.
                  ב' הAi שם גרשיים של אנגלית.
                  איך לתקן עכשיו לגרשיים של עברית?

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

                    @lilo159 א' תודה, עובד לי.
                    ב' הAi שם גרשיים של אנגלית.
                    איך לתקן עכשיו לגרשיים של עברית?

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

                    @מחנה-ידידים על איזה גרשיים אתה מדבר?

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

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

                      @מחנה-ידידים על איזה גרשיים אתה מדבר?

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

                      @שניאור-שמח
                      a082cd0f-9b48-47b1-9ba9-a29ad3d49ebf-WIN_20260415_12_12_21_Pro.jpg

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

                        @שניאור-שמח
                        a082cd0f-9b48-47b1-9ba9-a29ad3d49ebf-WIN_20260415_12_12_21_Pro.jpg

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

                        @מחנה-ידידים אתה בטוח שזה לא אמור להיות ככה?
                        לפי ג׳ימני זה כן טוב

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

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

                          @מחנה-ידידים אתה בטוח שזה לא אמור להיות ככה?
                          לפי ג׳ימני זה כן טוב

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

                          @שניאור-שמח זה " בעברית וזה ״ באנגלית

                          ג'מיני

                          בעברית ובאנגלית נעשה שימוש בסימנים שנראים דומים, אך יש ביניהם הבדלים טיפולוגיים ומקצועיים (במיוחד בעולם הטיפוגרפיה והתכנות).

                          להלן הסימנים:

                          1. גרשיים "סטנדרטיים" (לשימוש כללי ותכנות)

                          אלו הגרשיים שנמצאים במקלדת לצד מקש ה-Enter. הם ישרים ומשמשים כברירת מחדל בשתי השפות ברוב הממשקים הדיגיטליים:

                          • גרשיים כפולים: "
                          • גרש בודד: '

                          2. גרשיים עבריים (טיפוגרפיים)

                          על פי כללי האקדמיה ללשון העברית, הגרשיים צריכים להיות נטויים (אלכסוניים) ולהיכתב בחלקו העליון של השורה.

                          • גרשיים (לראשי תיבות): ״ (תו יוניקוד U+05F4)
                          • גרש (לקיצורים): ׳ (תו יוניקוד U+05F3)

                          הערה: בגרפיקה ובעיצוב ספרים בעברית, משתמשים בתווים הייחודיים האלו כדי להבדיל בין ציטוט לבין קיצור או ראשי תיבות.


                          3. גרשיים אנגליים (Smart Quotes)

                          באנגלית מקצועית (ספרות, עיתונות) משתמשים בגרשיים "מעוקלים" או "חכמים" שמשתנים לפי תחילת או סוף הציטוט:

                          • גרשיים כפולים (פתיחה וסגירה): “ ”
                          • גרשיים בודדים (פתיחה וסגירה): ‘ ’

                          טבלת ריכוז

                          סוג סימן כפול סימן בודד
                          מקלדת/דיגיטלי " '
                          עברית תקנית ״ ׳
                          אנגלית (טיפוגרפי) “ ” ‘ ’

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

                            @שניאור-שמח זה " בעברית וזה ״ באנגלית

                            ג'מיני

                            בעברית ובאנגלית נעשה שימוש בסימנים שנראים דומים, אך יש ביניהם הבדלים טיפולוגיים ומקצועיים (במיוחד בעולם הטיפוגרפיה והתכנות).

                            להלן הסימנים:

                            1. גרשיים "סטנדרטיים" (לשימוש כללי ותכנות)

                            אלו הגרשיים שנמצאים במקלדת לצד מקש ה-Enter. הם ישרים ומשמשים כברירת מחדל בשתי השפות ברוב הממשקים הדיגיטליים:

                            • גרשיים כפולים: "
                            • גרש בודד: '

                            2. גרשיים עבריים (טיפוגרפיים)

                            על פי כללי האקדמיה ללשון העברית, הגרשיים צריכים להיות נטויים (אלכסוניים) ולהיכתב בחלקו העליון של השורה.

                            • גרשיים (לראשי תיבות): ״ (תו יוניקוד U+05F4)
                            • גרש (לקיצורים): ׳ (תו יוניקוד U+05F3)

                            הערה: בגרפיקה ובעיצוב ספרים בעברית, משתמשים בתווים הייחודיים האלו כדי להבדיל בין ציטוט לבין קיצור או ראשי תיבות.


                            3. גרשיים אנגליים (Smart Quotes)

                            באנגלית מקצועית (ספרות, עיתונות) משתמשים בגרשיים "מעוקלים" או "חכמים" שמשתנים לפי תחילת או סוף הציטוט:

                            • גרשיים כפולים (פתיחה וסגירה): “ ”
                            • גרשיים בודדים (פתיחה וסגירה): ‘ ’

                            טבלת ריכוז

                            סוג סימן כפול סימן בודד
                            מקלדת/דיגיטלי " '
                            עברית תקנית ״ ׳
                            אנגלית (טיפוגרפי) “ ” ‘ ’

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

                            d6f18f07-8a46-49bf-90fb-e6c9a876679c-image.png

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

                              @שניאור-שמח זה " בעברית וזה ״ באנגלית

                              ג'מיני

                              בעברית ובאנגלית נעשה שימוש בסימנים שנראים דומים, אך יש ביניהם הבדלים טיפולוגיים ומקצועיים (במיוחד בעולם הטיפוגרפיה והתכנות).

                              להלן הסימנים:

                              1. גרשיים "סטנדרטיים" (לשימוש כללי ותכנות)

                              אלו הגרשיים שנמצאים במקלדת לצד מקש ה-Enter. הם ישרים ומשמשים כברירת מחדל בשתי השפות ברוב הממשקים הדיגיטליים:

                              • גרשיים כפולים: "
                              • גרש בודד: '

                              2. גרשיים עבריים (טיפוגרפיים)

                              על פי כללי האקדמיה ללשון העברית, הגרשיים צריכים להיות נטויים (אלכסוניים) ולהיכתב בחלקו העליון של השורה.

                              • גרשיים (לראשי תיבות): ״ (תו יוניקוד U+05F4)
                              • גרש (לקיצורים): ׳ (תו יוניקוד U+05F3)

                              הערה: בגרפיקה ובעיצוב ספרים בעברית, משתמשים בתווים הייחודיים האלו כדי להבדיל בין ציטוט לבין קיצור או ראשי תיבות.


                              3. גרשיים אנגליים (Smart Quotes)

                              באנגלית מקצועית (ספרות, עיתונות) משתמשים בגרשיים "מעוקלים" או "חכמים" שמשתנים לפי תחילת או סוף הציטוט:

                              • גרשיים כפולים (פתיחה וסגירה): “ ”
                              • גרשיים בודדים (פתיחה וסגירה): ‘ ’

                              טבלת ריכוז

                              סוג סימן כפול סימן בודד
                              מקלדת/דיגיטלי " '
                              עברית תקנית ״ ׳
                              אנגלית (טיפוגרפי) “ ” ‘ ’

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

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

                              @שניאור-שמח זה " בעברית וזה ״ באנגלית

                              ג'מיני

                              2. גרשיים עבריים (טיפוגרפיים)

                              על פי כללי האקדמיה ללשון העברית, הגרשיים צריכים להיות נטויים (אלכסוניים) ולהיכתב בחלקו העליון של השורה.

                              • גרשיים (לראשי תיבות): ״ (תו יוניקוד U+05F4)
                              • גרש (לקיצורים): ׳ (תו יוניקוד U+05F3)

                              | עברית תקנית | ״ | ׳ |

                              נו, תראה מה הוא רשם לך..
                              זה כמו שיש עכשיו

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

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

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

                                @שניאור-שמח זה " בעברית וזה ״ באנגלית

                                ג'מיני

                                2. גרשיים עבריים (טיפוגרפיים)

                                על פי כללי האקדמיה ללשון העברית, הגרשיים צריכים להיות נטויים (אלכסוניים) ולהיכתב בחלקו העליון של השורה.

                                • גרשיים (לראשי תיבות): ״ (תו יוניקוד U+05F4)
                                • גרש (לקיצורים): ׳ (תו יוניקוד U+05F3)

                                | עברית תקנית | ״ | ׳ |

                                נו, תראה מה הוא רשם לך..
                                זה כמו שיש עכשיו

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

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

                                1. גרשיים עבריים (טיפוגרפיים)

                                טִיפּוֹגְרָפִי
                                תֹּאַר
                                הַשַּׁיָּךְ לַדְּפוּס, דְּפוּסִי

                                הכוונה לעברי רגיל כמו בתמונה השניה - מ www.compart.com

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

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

                                  1. גרשיים עבריים (טיפוגרפיים)

                                  טִיפּוֹגְרָפִי
                                  תֹּאַר
                                  הַשַּׁיָּךְ לַדְּפוּס, דְּפוּסִי

                                  הכוונה לעברי רגיל כמו בתמונה השניה - מ www.compart.com

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

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

                                  @מישהו12 אתה מבין בזה? יש לך מושג?

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

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

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

                                    @מישהו12 אתה מבין בזה? יש לך מושג?

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

                                    @שניאור-שמח אתה רואה בעצמך שתו יוניקוד U+05F4 מוגדר כ"עברי". אני סומך על www.compart.com יותר מעל ג'מיני...

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

                                      @שניאור-שמח אתה רואה בעצמך שתו יוניקוד U+05F4 מוגדר כ"עברי". אני סומך על www.compart.com יותר מעל ג'מיני...

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

                                      @מחנה-ידידים @שניאור-שמח קצת סטיתם מהנושא.
                                      וזה לא נשמע לי כזה קריטי גרשיים כאלו או כאלו. לא ככה?

                                      הפעלת שלוחות בVoLTE

                                      מ תגובה 1 תגובה אחרונה
                                      1
                                      • נוחעם FMנ נוחעם FM

                                        @מחנה-ידידים @שניאור-שמח קצת סטיתם מהנושא.
                                        וזה לא נשמע לי כזה קריטי גרשיים כאלו או כאלו. לא ככה?

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

                                        @נוחעם-FM טוב, צודק.
                                        השאלה שלי היא: מה המיקום של הסטרינג שאחראי לגרשיים.

                                        תגובה 1 תגובה אחרונה
                                        0
                                        • L lilo159

                                          בהמשך למדריך | הוספת תאריך עברי למסך הבית בדאמבדרויד
                                          b7d05bf9-70c4-46c4-8782-188973bae653-image.png
                                          אז משום מה, אתם עדיין משתמשים בגרסה הרגילה של F21 PRO..
                                          לא נורא, מתי שהוא גם אתם תתקדמו..

                                          בכל מקרה, לבינתיים:

                                          כרגיל, הAI הוא המתכנת, אבל האחריות אצלו היא לא טעות סופר..

                                          לשינויים:
                                          האפליקציה שאנחנו עורכים היא הלאנצ'ר, שנמצא בנתיב:
                                          /system_ext/priv-app/Launcher3QuickStep

                                          כל הקלאסים שנערכים או נוספים, נמצאים בנתיב:
                                          com/android/launcher3

                                          1. להוסיף את הקלאס HebrewDateHelper (בנתיב com/android/launcher3):
                                          .class public Lcom/android/launcher3/HebrewDateHelper;
                                          .super Ljava/lang/Object;
                                          
                                          # direct methods
                                          .method public static getCombinedDateString(Ljava/lang/String;)Ljava/lang/String;
                                              .registers 12
                                          
                                              :try_start_0
                                              new-instance v0, Landroid/icu/util/HebrewCalendar;
                                              invoke-direct {v0}, Landroid/icu/util/HebrewCalendar;-><init>()V
                                          
                                              new-instance v1, Landroid/icu/util/ULocale;
                                              const-string v2, "he_IL@calendar=hebrew"
                                              invoke-direct {v1, v2}, Landroid/icu/util/ULocale;-><init>(Ljava/lang/String;)V
                                          
                                              const/4 v2, 0x1
                                              invoke-static {v2, v1}, Landroid/icu/text/DateFormat;->getDateInstance(ILandroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;
                                              move-result-object v2
                                          
                                              invoke-static {}, Lcom/android/launcher3/HebrewDateHelper;->isAfterNightfall()Z
                                              move-result v3
                                              move v10, v3
                                          
                                              invoke-virtual {v0}, Landroid/icu/util/HebrewCalendar;->getTime()Ljava/util/Date;
                                              move-result-object v4
                                          
                                              invoke-virtual {v2, v4}, Landroid/icu/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
                                              move-result-object v3
                                          
                                              if-eqz v3, :cond_bc
                                          
                                              const/4 v4, 0x7
                                              invoke-virtual {v0, v4}, Landroid/icu/util/HebrewCalendar;->get(I)I
                                              move-result v5
                                          
                                              if-ne v5, v4, :cond_33
                                          
                                              if-eqz v10, :cond_33
                                          
                                              const-string/jumbo v4, "יום שבת"
                                              const-string/jumbo v5, "מוצאי שבת"
                                              invoke-virtual {v3, v4, v5}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
                                              move-result-object v3
                                          
                                              :cond_33
                                              const/16 v4, 0x20
                                              invoke-virtual {v3, v4}, Ljava/lang/String;->lastIndexOf(I)I
                                              move-result v4
                                          
                                              const-string v8, ""
                                              const-string v9, ""
                                              const/4 v5, -0x1
                                          
                                              if-eq v4, v5, :cond_4b
                                          
                                              const/4 v5, 0x0
                                              invoke-virtual {v3, v5, v4}, Ljava/lang/String;->substring(II)Ljava/lang/String;
                                              move-result-object v8
                                          
                                              add-int/lit8 v4, v4, 0x1
                                              invoke-virtual {v3, v4}, Ljava/lang/String;->substring(I)Ljava/lang/String;
                                              move-result-object v9
                                          
                                              :cond_4b
                                              const/4 v3, 0x2
                                              invoke-virtual {v0, v3}, Landroid/icu/util/HebrewCalendar;->get(I)I
                                              move-result v4
                                          
                                              const/4 v5, 0x5
                                              const/4 v6, 0x1
                                              invoke-virtual {v0, v5, v6}, Landroid/icu/util/HebrewCalendar;->add(II)V
                                          
                                              invoke-virtual {v0}, Landroid/icu/util/HebrewCalendar;->getTime()Ljava/util/Date;
                                              move-result-object v5
                                              invoke-virtual {v2, v5}, Landroid/icu/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
                                              move-result-object v6
                                          
                                              invoke-virtual {v0, v3}, Landroid/icu/util/HebrewCalendar;->get(I)I
                                              move-result v5
                                          
                                              const-string v0, ", "
                                              invoke-virtual {v6, v0}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
                                              move-result v0
                                          
                                              const/4 v7, -0x1
                                          
                                              if-eq v0, v7, :cond_70
                                          
                                              add-int/lit8 v0, v0, 0x2
                                              invoke-virtual {v6, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
                                              move-result-object v6
                                          
                                              :cond_70
                                              const/16 v0, 0x20
                                              invoke-virtual {v6, v0}, Ljava/lang/String;->lastIndexOf(I)I
                                              move-result v0
                                          
                                              if-eq v0, v7, :cond_7d
                                          
                                              const/4 v2, 0x0
                                              invoke-virtual {v6, v2, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
                                              move-result-object v6
                                          
                                              :cond_7d
                                              if-ne v4, v5, :cond_8c
                                          
                                              const/16 v0, 0x20
                                              invoke-virtual {v6, v0}, Ljava/lang/String;->indexOf(I)I
                                              move-result v0
                                          
                                              if-eq v0, v7, :cond_8c
                                          
                                              const/4 v2, 0x0
                                              invoke-virtual {v6, v2, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
                                              move-result-object v6
                                          
                                              :cond_8c
                                              new-instance v0, Ljava/lang/StringBuilder;
                                              invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
                                          
                                              invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                                          
                                              if-eqz v10, :cond_a7
                                          
                                              const-string v2, " (אור ל-"
                                              invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                                              invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                                              const-string v2, ") "
                                              invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                                              invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                                              goto :goto_af
                                          
                                              :cond_a7
                                              const-string v2, " "
                                              invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                                              invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                                          
                                              :goto_af
                                              const-string v2, "\n"
                                              invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                                              invoke-virtual {v0, p0}, 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_bc
                                              new-instance v0, Ljava/lang/StringBuilder;
                                              invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
                                              invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                                              const-string v1, "\n"
                                              invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                                              invoke-virtual {v0, p0}, 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
                                              :try_end_d1
                                              .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_d1} :catch_d1
                                          
                                              :catch_d1
                                              move-exception v0
                                              return-object p0
                                          .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
                                              invoke-virtual {v0, v1}, Ljava/util/Calendar;->get(I)I
                                              move-result v1
                                              const/16 v2, 0xb
                                              invoke-virtual {v0, v2}, Ljava/util/Calendar;->get(I)I
                                              move-result v2
                                              const/16 v3, 0xc
                                              invoke-virtual {v0, v3}, Ljava/util/Calendar;->get(I)I
                                              move-result v3
                                              invoke-virtual {v0}, Ljava/util/Calendar;->getTimeZone()Ljava/util/TimeZone;
                                              move-result-object v4
                                              invoke-virtual {v0}, Ljava/util/Calendar;->getTime()Ljava/util/Date;
                                              move-result-object v0
                                              invoke-virtual {v4, v0}, Ljava/util/TimeZone;->inDaylightTime(Ljava/util/Date;)Z
                                              move-result v0
                                          
                                              const-wide v4, 0x400921fb54442d18L
                                              const-wide/high16 v6, 0x4000000000000000L
                                              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
                                              div-double/2addr v4, v6
                                              invoke-static {v4, v5}, Ljava/lang/Math;->sin(D)D
                                              move-result-wide v4
                                              const-wide v6, 0x3ff0cccccccccccdL
                                              mul-double/2addr v4, v6
                                              const-wide v6, 0x403247ae147ae148L
                                              add-double/2addr v4, v6
                                          
                                              if-eqz v0, :cond_48
                                              const-wide/high16 v6, 0x3ff0000000000000L
                                              add-double/2addr v4, v6
                                              :cond_48
                                          
                                              double-to-int v0, v4
                                              int-to-double v6, v0
                                              sub-double/2addr v4, v6
                                              const-wide v6, 0x404e000000000000L
                                              mul-double/2addr v4, v6
                                              double-to-int v4, v4
                                              const/4 v5, 0x1
                                          
                                              if-le v2, v0, :cond_56
                                              return v5
                                          
                                              :cond_56
                                              if-ne v2, v0, :cond_5b
                                              if-lt v3, v4, :cond_5b
                                              return v5
                                          
                                              :cond_5b
                                              const/4 v0, 0x0
                                              return v0
                                          .end method
                                          

                                          אם אתם מעדיפים שהתאריך הלועזי יהיה למעלה, אז תקחו את הקוד שבספויילר במקום:

                                          .class public Lcom/android/launcher3/HebrewDateHelper;
                                          .super Ljava/lang/Object;
                                          
                                          # direct methods
                                          .method public static getCombinedDateString(Ljava/lang/String;)Ljava/lang/String;
                                              .registers 12
                                          
                                              :try_start_0
                                              new-instance v0, Landroid/icu/util/HebrewCalendar;
                                              invoke-direct {v0}, Landroid/icu/util/HebrewCalendar;-><init>()V
                                          
                                              new-instance v1, Landroid/icu/util/ULocale;
                                              const-string v2, "he_IL@calendar=hebrew"
                                              invoke-direct {v1, v2}, Landroid/icu/util/ULocale;-><init>(Ljava/lang/String;)V
                                          
                                              const/4 v2, 0x1
                                              invoke-static {v2, v1}, Landroid/icu/text/DateFormat;->getDateInstance(ILandroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;
                                              move-result-object v2
                                          
                                              invoke-static {}, Lcom/android/launcher3/HebrewDateHelper;->isAfterNightfall()Z
                                              move-result v3
                                              move v10, v3
                                          
                                              invoke-virtual {v0}, Landroid/icu/util/HebrewCalendar;->getTime()Ljava/util/Date;
                                              move-result-object v4
                                          
                                              invoke-virtual {v2, v4}, Landroid/icu/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
                                              move-result-object v3
                                          
                                              if-eqz v3, :cond_bc
                                          
                                              const/4 v4, 0x7
                                              invoke-virtual {v0, v4}, Landroid/icu/util/HebrewCalendar;->get(I)I
                                              move-result v5
                                          
                                              if-ne v5, v4, :cond_33
                                          
                                              if-eqz v10, :cond_33
                                          
                                              const-string/jumbo v4, "יום שבת"
                                              const-string/jumbo v5, "מוצאי שבת"
                                              invoke-virtual {v3, v4, v5}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
                                              move-result-object v3
                                          
                                              :cond_33
                                              const/16 v4, 0x20
                                              invoke-virtual {v3, v4}, Ljava/lang/String;->lastIndexOf(I)I
                                              move-result v4
                                          
                                              const-string v8, ""
                                              const-string v9, ""
                                              const/4 v5, -0x1
                                          
                                              if-eq v4, v5, :cond_4b
                                          
                                              const/4 v5, 0x0
                                              invoke-virtual {v3, v5, v4}, Ljava/lang/String;->substring(II)Ljava/lang/String;
                                              move-result-object v8
                                          
                                              add-int/lit8 v4, v4, 0x1
                                              invoke-virtual {v3, v4}, Ljava/lang/String;->substring(I)Ljava/lang/String;
                                              move-result-object v9
                                          
                                              :cond_4b
                                              const/4 v3, 0x2
                                              invoke-virtual {v0, v3}, Landroid/icu/util/HebrewCalendar;->get(I)I
                                              move-result v4
                                          
                                              const/4 v5, 0x5
                                              const/4 v6, 0x1
                                              invoke-virtual {v0, v5, v6}, Landroid/icu/util/HebrewCalendar;->add(II)V
                                          
                                              invoke-virtual {v0}, Landroid/icu/util/HebrewCalendar;->getTime()Ljava/util/Date;
                                              move-result-object v5
                                              invoke-virtual {v2, v5}, Landroid/icu/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
                                              move-result-object v6
                                          
                                              invoke-virtual {v0, v3}, Landroid/icu/util/HebrewCalendar;->get(I)I
                                              move-result v5
                                          
                                              const-string v0, ", "
                                              invoke-virtual {v6, v0}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
                                              move-result v0
                                          
                                              const/4 v7, -0x1
                                          
                                              if-eq v0, v7, :cond_70
                                          
                                              add-int/lit8 v0, v0, 0x2
                                              invoke-virtual {v6, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
                                              move-result-object v6
                                          
                                              :cond_70
                                              const/16 v0, 0x20
                                              invoke-virtual {v6, v0}, Ljava/lang/String;->lastIndexOf(I)I
                                              move-result v0
                                          
                                              if-eq v0, v7, :cond_7d
                                          
                                              const/4 v2, 0x0
                                              invoke-virtual {v6, v2, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
                                              move-result-object v6
                                          
                                              :cond_7d
                                              if-ne v4, v5, :cond_8c
                                          
                                              const/16 v0, 0x20
                                              invoke-virtual {v6, v0}, Ljava/lang/String;->indexOf(I)I
                                              move-result v0
                                          
                                              if-eq v0, v7, :cond_8c
                                          
                                              const/4 v2, 0x0
                                              invoke-virtual {v6, v2, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
                                              move-result-object v6
                                          
                                              :cond_8c
                                              new-instance v0, Ljava/lang/StringBuilder;
                                              invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
                                          
                                              invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                                              const-string v2, "\n"
                                              invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                                          
                                              invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                                          
                                              if-eqz v10, :cond_a7
                                          
                                              const-string v2, " (אור ל-"
                                              invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                                              invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                                              const-string v2, ") "
                                              invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                                              invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                                              goto :goto_af
                                          
                                              :cond_a7
                                              const-string v2, " "
                                              invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                                              invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                                          
                                              :goto_af
                                              invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
                                              move-result-object v0
                                              return-object v0
                                          
                                              :cond_bc
                                              new-instance v0, Ljava/lang/StringBuilder;
                                              invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
                                          
                                              invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                                              const-string v1, "\n"
                                              invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                                              invoke-virtual {v0, v3}, 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
                                              :try_end_d1
                                              .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_d1} :catch_d1
                                          
                                              :catch_d1
                                              move-exception v0
                                              return-object p0
                                          .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
                                              invoke-virtual {v0, v1}, Ljava/util/Calendar;->get(I)I
                                              move-result v1
                                              const/16 v2, 0xb
                                              invoke-virtual {v0, v2}, Ljava/util/Calendar;->get(I)I
                                              move-result v2
                                              const/16 v3, 0xc
                                              invoke-virtual {v0, v3}, Ljava/util/Calendar;->get(I)I
                                              move-result v3
                                              invoke-virtual {v0}, Ljava/util/Calendar;->getTimeZone()Ljava/util/TimeZone;
                                              move-result-object v4
                                              invoke-virtual {v0}, Ljava/util/Calendar;->getTime()Ljava/util/Date;
                                              move-result-object v0
                                              invoke-virtual {v4, v0}, Ljava/util/TimeZone;->inDaylightTime(Ljava/util/Date;)Z
                                              move-result v0
                                          
                                              const-wide v4, 0x400921fb54442d18L
                                              const-wide/high16 v6, 0x4000000000000000L
                                              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
                                              div-double/2addr v4, v6
                                              invoke-static {v4, v5}, Ljava/lang/Math;->sin(D)D
                                              move-result-wide v4
                                              const-wide v6, 0x3ff0cccccccccccdL
                                              mul-double/2addr v4, v6
                                              const-wide v6, 0x403247ae147ae148L
                                              add-double/2addr v4, v6
                                          
                                              if-eqz v0, :cond_48
                                              const-wide/high16 v6, 0x3ff0000000000000L
                                              add-double/2addr v4, v6
                                              :cond_48
                                          
                                              double-to-int v0, v4
                                              int-to-double v6, v0
                                              sub-double/2addr v4, v6
                                              const-wide v6, 0x404e000000000000L
                                              mul-double/2addr v4, v6
                                              double-to-int v4, v4
                                              const/4 v5, 0x1
                                          
                                              if-le v2, v0, :cond_56
                                              return v5
                                          
                                              :cond_56
                                              if-ne v2, v0, :cond_5b
                                              if-lt v3, v4, :cond_5b
                                              return v5
                                          
                                              :cond_5b
                                              const/4 v0, 0x0
                                              return v0
                                          .end method
                                          

                                          1. להוסיף את הקלאס (באותו נתיב):
                                            WorkspaceDateReceiver
                                          .class public Lcom/android/launcher3/WorkspaceDateReceiver;
                                          .super Landroid/content/BroadcastReceiver;
                                          
                                          .field private final mWorkspace:Lcom/android/launcher3/Workspace;
                                          
                                          .method public constructor <init>(Lcom/android/launcher3/Workspace;)V
                                              .registers 2
                                          
                                              .line 1
                                              invoke-direct {p0}, Landroid/content/BroadcastReceiver;-><init>()V
                                          
                                              .line 2
                                              iput-object p1, p0, Lcom/android/launcher3/WorkspaceDateReceiver;->mWorkspace:Lcom/android/launcher3/Workspace;
                                          
                                              .line 3
                                              return-void
                                          .end method
                                          
                                          .method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
                                              .registers 3
                                          
                                              .line 1
                                              iget-object p1, p0, Lcom/android/launcher3/WorkspaceDateReceiver;->mWorkspace:Lcom/android/launcher3/Workspace;
                                          
                                              if-eqz p1, :cond_end
                                          
                                              .line 2
                                              invoke-virtual {p1}, Lcom/android/launcher3/Workspace;->refreshTime()V
                                          
                                              :cond_end
                                              return-void
                                          .end method
                                          
                                          1. בקלאס Workspace (שנמצא בנתיב כדלעיל):
                                            יחסית בתחילת הקלאס (בערך שורה 46)
                                            אחרי השורה
                                          # static fields
                                          

                                          להוסיף את השורה הזאת:

                                          .field private mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
                                          
                                          1. באותו קלאס
                                            במתודה insertNewWorkspaceScreen (הראשונה, נראית כך):
                                          .method public insertNewWorkspaceScreen(II)Lcom/android/launcher3/CellLayout;
                                          

                                          מתחת לשורה .line 728 ישנה השורה:

                                          invoke-virtual {v6, v5}, Landroid/widget/TextClock;->setFocusable(Z)V
                                          

                                          מיד אחריה להוסיף את השורות:

                                          # הזרקה: 2 שורות ומרכוז
                                              invoke-virtual {v6, v5}, Landroid/widget/TextClock;->setSingleLine(Z)V
                                              const/4 v7, 0x2
                                              invoke-virtual {v6, v7}, Landroid/widget/TextClock;->setMaxLines(I)V
                                              const/16 v7, 0x11
                                              invoke-virtual {v6, v7}, Landroid/widget/TextClock;->setGravity(I)V
                                          


                                          אמור להראות כך:

                                              .line 728
                                              invoke-virtual {v6, v5}, Landroid/widget/TextClock;->setFocusable(Z)V
                                              # הזרקה: 2 שורות ומרכוז
                                              invoke-virtual {v6, v5}, Landroid/widget/TextClock;->setSingleLine(Z)V
                                              const/4 v7, 0x2
                                              invoke-virtual {v6, v7}, Landroid/widget/TextClock;->setMaxLines(I)V
                                              const/16 v7, 0x11
                                              invoke-virtual {v6, v7}, Landroid/widget/TextClock;->setGravity(I)V
                                          

                                          1. באותו קלאס
                                            במתודה refreshTime
                                            א. לשנות את המתודה לpublic
                                            ב. לחפש את השורה הזאת:
                                          invoke-direct/range {p0 .. p0}, Lcom/android/launcher3/Workspace;->refreshTime()V
                                          

                                          ולהחליף עם זאת:

                                          invoke-virtual/range {p0 .. p0}, Lcom/android/launcher3/Workspace;->refreshTime()V
                                          

                                          ג. מיד אחרי השורה הזאת (היא נמצאת פעמיים, לבצע על שני השורות שתמצאו):

                                          sget-object v1, Lcom/android/launcher3/Workspace$Patterns;->dateView:Ljava/lang/String;
                                          
                                          

                                          להוסיף את הקוד:

                                          invoke-static {v1}, Lcom/android/launcher3/HebrewDateHelper;->getCombinedDateString(Ljava/lang/String;)Ljava/lang/String;
                                              move-result-object v1
                                          


                                          בסוף המתודה אמורה להראות כך:

                                          .method public refreshTime()V
                                              .registers 4
                                          
                                              .line 779
                                              invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getContext()Landroid/content/Context;
                                          
                                              move-result-object v0
                                          
                                              invoke-static {v0}, Lcom/android/launcher3/Workspace$Patterns;->update(Landroid/content/Context;)V
                                          
                                              .line 780
                                              iget-object v0, p0, Lcom/android/launcher3/Workspace;->mDateView:Landroid/widget/TextClock;
                                          
                                              sget-object v1, Lcom/android/launcher3/Workspace$Patterns;->dateView:Ljava/lang/String;
                                          
                                              # הזרקת התאריך העברי לפורמט 24 שעות
                                              invoke-static {v1}, Lcom/android/launcher3/HebrewDateHelper;->getCombinedDateString(Ljava/lang/String;)Ljava/lang/String;
                                              move-result-object v1
                                          
                                              invoke-virtual {v0, v1}, Landroid/widget/TextClock;->setFormat24Hour(Ljava/lang/CharSequence;)V
                                          
                                              .line 781
                                              iget-object v0, p0, Lcom/android/launcher3/Workspace;->mDateView:Landroid/widget/TextClock;
                                          
                                              sget-object v1, Lcom/android/launcher3/Workspace$Patterns;->dateView:Ljava/lang/String;
                                          
                                              # הזרקת התאריך העברי לפורמט 12 שעות
                                              invoke-static {v1}, Lcom/android/launcher3/HebrewDateHelper;->getCombinedDateString(Ljava/lang/String;)Ljava/lang/String;
                                              move-result-object v1
                                          
                                              invoke-virtual {v0, v1}, Landroid/widget/TextClock;->setFormat12Hour(Ljava/lang/CharSequence;)V
                                          
                                              .line 783
                                              iget-object v0, p0, Lcom/android/launcher3/Workspace;->mClockView:Landroid/widget/TextClock;
                                          
                                              .line 784
                                              invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getResources()Landroid/content/res/Resources;
                                          
                                              move-result-object v1
                                          
                                              sget v2, Lcom/android/launcher3/R$dimen;->am_pm_widget_font_size:I
                                          
                                              invoke-virtual {v1, v2}, Landroid/content/res/Resources;->getDimension(I)F
                                          
                                              move-result v1
                                          
                                              float-to-int v1, v1
                                          
                                              sget-object v2, Lcom/android/launcher3/Workspace$Patterns;->clockView12:Ljava/lang/String;
                                          
                                              .line 783
                                              invoke-virtual {p0, v1, v2}, Lcom/android/launcher3/Workspace;->updateAmPmTextSize(ILjava/lang/String;)Ljava/lang/CharSequence;
                                          
                                              move-result-object v1
                                          
                                              invoke-virtual {v0, v1}, Landroid/widget/TextClock;->setFormat12Hour(Ljava/lang/CharSequence;)V
                                          
                                              .line 785
                                              iget-object v0, p0, Lcom/android/launcher3/Workspace;->mClockView:Landroid/widget/TextClock;
                                          
                                              sget-object v1, Lcom/android/launcher3/Workspace$Patterns;->clockView24:Ljava/lang/String;
                                          
                                              invoke-virtual {v0, v1}, Landroid/widget/TextClock;->setFormat24Hour(Ljava/lang/CharSequence;)V
                                          
                                              .line 788
                                              return-void
                                          .end method
                                          

                                          1. במתודה onAttachedToWindow
                                            א. להוסיף רגיסטר אחד (להחליף מ3 ל4).
                                            ב. בסוף המתודה ממש לפני return-void, להוסיף את הקוד:
                                          # הזרקה: רישום המאזין
                                              new-instance v0, Lcom/android/launcher3/WorkspaceDateReceiver;
                                              invoke-direct {v0, p0}, Lcom/android/launcher3/WorkspaceDateReceiver;-><init>(Lcom/android/launcher3/Workspace;)V
                                              iput-object v0, p0, Lcom/android/launcher3/Workspace;->mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
                                          
                                              new-instance v1, Landroid/content/IntentFilter;
                                              invoke-direct {v1}, Landroid/content/IntentFilter;-><init>()V
                                          
                                              const-string v2, "android.intent.action.TIME_TICK"
                                              invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
                                          
                                              const-string v2, "android.intent.action.TIME_SET"
                                              invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
                                          
                                              const-string v2, "android.intent.action.TIMEZONE_CHANGED"
                                              invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
                                          
                                              const-string v2, "android.intent.action.DATE_CHANGED"
                                              invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
                                          
                                              invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getContext()Landroid/content/Context;
                                              move-result-object v2
                                              invoke-virtual {v2, v0, v1}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
                                          


                                          בסוף המתודה אמורה להראות כך:

                                          .method protected onAttachedToWindow()V
                                              .registers 4
                                          
                                              .line 1490
                                              invoke-super {p0}, Lcom/android/launcher3/PagedView;->onAttachedToWindow()V
                                          
                                              .line 1491
                                              iget-object v0, p0, Lcom/android/launcher3/Workspace;->mWallpaperOffset:Lcom/android/launcher3/util/WallpaperOffsetInterpolator;
                                          
                                              invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getWindowToken()Landroid/os/IBinder;
                                          
                                              move-result-object v1
                                          
                                              invoke-virtual {v0, v1}, Lcom/android/launcher3/util/WallpaperOffsetInterpolator;->setWindowToken(Landroid/os/IBinder;)V
                                          
                                              .line 1492
                                              invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->computeScroll()V
                                          
                                              # רישום המאזין לאירועי שעון
                                              new-instance v0, Lcom/android/launcher3/WorkspaceDateReceiver;
                                              invoke-direct {v0, p0}, Lcom/android/launcher3/WorkspaceDateReceiver;-><init>(Lcom/android/launcher3/Workspace;)V
                                              iput-object v0, p0, Lcom/android/launcher3/Workspace;->mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
                                          
                                              new-instance v1, Landroid/content/IntentFilter;
                                              invoke-direct {v1}, Landroid/content/IntentFilter;-><init>()V
                                          
                                              const-string v2, "android.intent.action.TIME_TICK"
                                              invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
                                          
                                              const-string v2, "android.intent.action.TIME_SET"
                                              invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
                                          
                                              const-string v2, "android.intent.action.TIMEZONE_CHANGED"
                                              invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
                                          
                                              const-string v2, "android.intent.action.DATE_CHANGED"
                                              invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
                                          
                                              invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getContext()Landroid/content/Context;
                                              move-result-object v2
                                              invoke-virtual {v2, v0, v1}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
                                          
                                              .line 1493
                                              return-void
                                          .end method
                                          

                                          1. במתודה onDetachedFromWindow (נמצאת ממש אחרי המתודה הקודמת)
                                            כמו קודם, בסוף המתודה ממש לפני הreturn-void, להוסיף את הקוד הבא:
                                          # הזרקה: ביטול המאזין
                                              iget-object v0, p0, Lcom/android/launcher3/Workspace;->mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
                                              if-eqz v0, :cond_unregister_end
                                          
                                              invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getContext()Landroid/content/Context;
                                              move-result-object v1
                                              invoke-virtual {v1, v0}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
                                          
                                              const/4 v0, 0x0
                                              iput-object v0, p0, Lcom/android/launcher3/Workspace;->mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
                                          
                                              :cond_unregister_end
                                          


                                          בסוף המתודה אמורה להראות כך:

                                          .method protected onDetachedFromWindow()V
                                              .registers 3
                                          
                                              .line 1496
                                              invoke-super {p0}, Lcom/android/launcher3/PagedView;->onDetachedFromWindow()V
                                          
                                              .line 1497
                                              iget-object v0, p0, Lcom/android/launcher3/Workspace;->mWallpaperOffset:Lcom/android/launcher3/util/WallpaperOffsetInterpolator;
                                          
                                              const/4 v1, 0x0
                                          
                                              invoke-virtual {v0, v1}, Lcom/android/launcher3/util/WallpaperOffsetInterpolator;->setWindowToken(Landroid/os/IBinder;)V
                                          
                                              # מחיקת המאזין כדי למנוע דליפת זיכרון
                                              iget-object v0, p0, Lcom/android/launcher3/Workspace;->mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
                                              if-eqz v0, :cond_unregister_end
                                          
                                              invoke-virtual {p0}, Lcom/android/launcher3/Workspace;->getContext()Landroid/content/Context;
                                              move-result-object v1
                                              invoke-virtual {v1, v0}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
                                          
                                              const/4 v0, 0x0
                                              iput-object v0, p0, Lcom/android/launcher3/Workspace;->mDateReceiver:Lcom/android/launcher3/WorkspaceDateReceiver;
                                          
                                              :cond_unregister_end
                                          
                                              .line 1498
                                              return-void
                                          .end method
                                          

                                          בהצלחה!

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

                                          @lilo159 כתב במדריך | הוספת תאריך עברי למסך הבית בגרסה הרגילה של f21 pro:

                                          הוספת תאריך עברי למסך הבית

                                          תודה רבה!!
                                          השתמשתי בזה, וזה מאוד עזר לי

                                          יש איך לעשות את זה גם במסך נעילה?

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

                                          • התחברות

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

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