דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • 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 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
                                • חוקי הפורום
                                • פופולרי
                                • לא נפתר
                                • משתמשים
                                • חיפוש גוגל בפורום
                                • צור קשר