שיתוף | להגביל מכשיר אנדרואיד לכמה אפליקציות בלבד - האפליקצייה החדשה שלי
-
@שמעון-חבצלת איזה?
את הadb?@יוסף-אלחנן לא, אתה הקובץ זיפ שהוא העלה
-
@יוסף-אלחנן לא, אתה הקובץ זיפ שהוא העלה
@שמעון-חבצלת אתה אמור להתקין את זה על המכשיר.
ולפעול לפי ההוראות...
-
שלום לכולם,
קודם כל, לא, אני מטצער, זה לא גרסה 1.0 של קיידרואיד, והאמת שזה כמעט ולא קשור לקיידרואיד (חוץ מהשם אבל לא מצאתי לו משהו אחר מקיידרואיד קיוסק) , אוקיי אתחיל עם הקונטקסט של הדברים, ולמי שזה לא מעניין אותו, ישידלג ישיר לקטע הבה. אבל בעצם, אני ב"ה כמעט סיימתי את המודול של הויפיאן של קיידרואיד 1.0 וכל מה שקשור לסינון של התוכן (שזה לדעתי החלק ההכי קשה) ועכשיו (לפני כ-3 שבועות בערך), הייתי צריך להתחיל את האפליקצייה, כולל כל הממשק, הסינכרון עם השרת וכו וכו, שזה בעצם אפליקצייה סנטדרטית לחלוטין, אך היה לי שאלה שהרבה זמן אני חושב עליה, איזה ארכיטקטורה של אפליקציה אני אבחר... והגעתי למסקנה שבשביל קיידרואיד, ההכי טוב יהיה שילוב של כמה ביחד (למי שזה מעניין, שילוב של Feature-based + Clean + MVVM וכמובן DI עם Koin, אבל לא באתי לדבר על פן הטכני), אבל הייתה לי בעייה שאף פעם לא בניתי אפליקצייה עם 3 ביחד, ולהתחיל עם קיידראויד בלי להתנסות על משהו, לא רציתי, לכן חיפשתי פרוייקט קטן כדי לנסות את השילוב הזה והאם באמת הוא יתאים.
ואז אני רואה את הפוסט הזה, אמרתי לעצמי שזה יכול להיות מעולה, כי אני אוכל לבדוק את הארכיטקטורה וגם אוכל לבדוק אחד מההגנות של קיידרואיד נגד מי שיעשה רוט עם קיידרואיד מותקן, שזה בעצם מצב שיחסום לגמרי את הגישה לממשק של המכשיר ואפילו הכפתורים למטה עם הודעה נחמדה שהמכשיר חסום כל עוד שיש למכשיר רוט. (באמת הכזבו אותי כל אלו שלא עשו התקנה כראוי ולכלכו אח"כ בפומבי על קידירואיד ), זה לקח שבוע אוליי עד שהתחלתי בפועל, עד שסגרנו עם בעל הפוסט וכו, והוא קיבל גרסה ראשונית שעובדת אבל היום אני מפרסם אותה עם קצת תיקונים.אוקיי, אז מה זה, אני פשוט עשיתי ממשק כדי לבחור איזה אפליקציות להשאיר , וגם הוספתי כמה דברים נחמדים כמו לאשר לאיזה אפליקציות יהיה חיבור לרשת וממשק די נחמד אף שהוא לא כ"כ מושקע, כמובן שזה לא חוסם דפדפן מובנה, זה חסימה שעובדת לפי אפליקציות בלבד, עם חומת אש שניתן לבחור לאיזה אפליקציות יהיה חיבור לרשת, יש גם הגנה נגד איפוס על המכשיר, לכן שמו לב לזה. הנה כמה צילומי מסך :
וגם על טאבלט :
ניתן לנסות את האפליקצייה אך חשוב לדעת שכל עוד שלא הפעלתי את המכשיר, ניתן להוריד את החסימה ללא סיסמה, ולמי שרוצה שאני אפעיל אותו, שינסה ויפנה אליי באופן אישי.
אז הנה הקובץ : com.kdroid.kiosk(0.8.1)-release.zip
כמובן צריך מחשב עם ADB, למחוק את כל החשבונות על המכשיר ולהפעיל אותה עם הפקודה הבא :
adb shell dpm set-device-owner com.kdroid.kiosk/.framework.managers.dpm.DpmReceiver
אוקיי זהו להיום !
בברכה
זה הרבה קוד בשביל אפליקצייה כ"כ קטנה, ממש ארכיטקטורה לא מתאימה לפרוייקט קטן כזה├── core
│ ├── data
│ │ ├── local
│ │ │ └── PreferencesRepository.kt
│ │ ├── preview
│ │ │ └── FakeData.kt
│ │ └── remote
│ │ └── checkIfDeviceIsAuthorized.kt
│ ├── domain
│ │ ├── allowedapplications
│ │ │ └── AllowedApplicationsRepository.kt
│ │ ├── managers
│ │ │ └── license
│ │ │ ├── LicenseManagerImpl.kt
│ │ │ └── LicenseManager.kt
│ │ └── utils
│ │ └── Hash.kt
│ └── presentation
│ ├── components
│ │ ├── AppIcon.kt
│ │ ├── BrightnessControl.kt
│ │ ├── CenteredTitle.kt
│ │ ├── Clock.kt
│ │ ├── CodeBlock.kt
│ │ ├── ConfigScaffold.kt
│ │ ├── GeneralAppBar.kt
│ │ ├── HebrewDate.kt
│ │ ├── InstallationStepper.kt
│ │ ├── InstallerConfirmButton.kt
│ │ ├── PasswordDialog.kt
│ │ ├── PasswordField.kt
│ │ ├── ResponsiveScreen.kt
│ │ └── WarningInfo.kt
│ ├── events
│ │ ├── SnackbarEventHandler.kt
│ │ └── SnackbarEvent.kt
│ ├── navigation
│ │ ├── AppNavHost.kt
│ │ ├── NavGraph.kt
│ │ ├── NavState.kt
│ │ ├── NavTransition.kt
│ │ └── NavViewModel.kt
│ └── theme
│ ├── Color.kt
│ ├── Theme.kt
│ └── Type.kt
├── features
│ ├── config
│ │ ├── allowedappsconfig
│ │ │ ├── AllowedAppsConfigEvent.kt
│ │ │ ├── AllowedAppsConfigScreen.kt
│ │ │ ├── AllowedAppsConfigState.kt
│ │ │ └── AllowedAppsConfigViewModel.kt
│ │ ├── ConfigurationItems.kt
│ │ ├── dpmconfig
│ │ │ ├── components
│ │ │ │ └── DisclaimerDialog.kt
│ │ │ ├── DpmConfigEvents.kt
│ │ │ ├── DpmConfigScreen.kt
│ │ │ ├── DpmConfigState.kt
│ │ │ └── DpmConfigViewModel.kt
│ │ ├── networkconfig
│ │ │ ├── NetworkConfigEvent.kt
│ │ │ ├── NetworkConfigRepository.kt
│ │ │ ├── NetworkConfigScreen.kt
│ │ │ ├── NetworkConfigState.kt
│ │ │ └── NetworkConfigViewmodel.kt
│ │ ├── passwordconfig
│ │ │ ├── PasswordConfigEvents.kt
│ │ │ ├── PasswordConfigScreen.kt
│ │ │ ├── PasswordConfigState.kt
│ │ │ └── PasswordConfigViewModel.kt
│ │ └── restrictionsconfig
│ │ ├── RestrictionsConfigEvents.kt
│ │ ├── RestrictionsConfigRepository.kt
│ │ ├── RestrictionsConfigScreen.kt
│ │ ├── RestrictionsConfigState.kt
│ │ ├── RestrictionsConfigViewModel.kt
│ │ └── RestrictionsItems.kt
│ ├── home
│ │ ├── components
│ │ │ ├── batteryindicator
│ │ │ │ ├── BatteryLevel.kt
│ │ │ │ ├── BatteryLevelState.kt
│ │ │ │ └── BatteryLevelViewModel.kt
│ │ │ └── NavigationItems.kt
│ │ ├── HomeEvents.kt
│ │ ├── HomeScreen.kt
│ │ ├── HomeScreenState.kt
│ │ └── HomeScreenViewModel.kt
│ ├── loading
│ │ └── Loading.kt
│ └── settings
│ ├── SettingsScreenEvent.kt
│ ├── SettingsScreen.kt
│ ├── SettingsScreenViewModel.kt
│ └── SettingsState.kt
├── framework
│ ├── di
│ │ └── AppModule.kt
│ ├── managers
│ │ ├── applications
│ │ │ ├── manager
│ │ │ │ ├── ApplicationManagerImpl.kt
│ │ │ │ ├── ApplicationManager.kt
│ │ │ │ └── ApplicationModel.kt
│ │ │ └── receiver
│ │ │ └── ApplicationInstallationReceiver.kt
│ │ ├── batterylevel
│ │ │ ├── BatteryLevelManagerImpl.kt
│ │ │ └── BatteryLevelManager.kt
│ │ ├── dpm
│ │ │ ├── DeviceOwnerConstants.kt
│ │ │ ├── DpmManagerImpl.kt
│ │ │ ├── DpmManager.kt
│ │ │ ├── DpmReceiver.kt
│ │ │ └── FrpManager.kt
│ │ └── systemsettings
│ │ └── SystemSettingsManager.kt
│ ├── receiver
│ │ └── BootReceiver.kt
│ └── services
│ ├── BackgroundServices.kt
│ ├── FakeVpnService.kt
│ ├── ServicesStarterOnBoot.kt
│ └── utils
│ └── ServicesUtils.kt
├── MainActivity.kt
└── MainApplication.kt41 directories, 89 files
@לא-מתייאש ווואאאאוווווו לפי התאריכים זה לקח רק קצת יותר משבוע... מטורף...
ושאפו ל @יוסף-אלחנן שככה"נ יש לו גם חלק בזיכוי הרבים שהרי בסופו של דבר @לא-מתייאש יצר את זה בזכות הפוסט שלו...
-
שלום לכולם,
קודם כל, לא, אני מטצער, זה לא גרסה 1.0 של קיידרואיד, והאמת שזה כמעט ולא קשור לקיידרואיד (חוץ מהשם אבל לא מצאתי לו משהו אחר מקיידרואיד קיוסק) , אוקיי אתחיל עם הקונטקסט של הדברים, ולמי שזה לא מעניין אותו, ישידלג ישיר לקטע הבה. אבל בעצם, אני ב"ה כמעט סיימתי את המודול של הויפיאן של קיידרואיד 1.0 וכל מה שקשור לסינון של התוכן (שזה לדעתי החלק ההכי קשה) ועכשיו (לפני כ-3 שבועות בערך), הייתי צריך להתחיל את האפליקצייה, כולל כל הממשק, הסינכרון עם השרת וכו וכו, שזה בעצם אפליקצייה סנטדרטית לחלוטין, אך היה לי שאלה שהרבה זמן אני חושב עליה, איזה ארכיטקטורה של אפליקציה אני אבחר... והגעתי למסקנה שבשביל קיידרואיד, ההכי טוב יהיה שילוב של כמה ביחד (למי שזה מעניין, שילוב של Feature-based + Clean + MVVM וכמובן DI עם Koin, אבל לא באתי לדבר על פן הטכני), אבל הייתה לי בעייה שאף פעם לא בניתי אפליקצייה עם 3 ביחד, ולהתחיל עם קיידראויד בלי להתנסות על משהו, לא רציתי, לכן חיפשתי פרוייקט קטן כדי לנסות את השילוב הזה והאם באמת הוא יתאים.
ואז אני רואה את הפוסט הזה, אמרתי לעצמי שזה יכול להיות מעולה, כי אני אוכל לבדוק את הארכיטקטורה וגם אוכל לבדוק אחד מההגנות של קיידרואיד נגד מי שיעשה רוט עם קיידרואיד מותקן, שזה בעצם מצב שיחסום לגמרי את הגישה לממשק של המכשיר ואפילו הכפתורים למטה עם הודעה נחמדה שהמכשיר חסום כל עוד שיש למכשיר רוט. (באמת הכזבו אותי כל אלו שלא עשו התקנה כראוי ולכלכו אח"כ בפומבי על קידירואיד ), זה לקח שבוע אוליי עד שהתחלתי בפועל, עד שסגרנו עם בעל הפוסט וכו, והוא קיבל גרסה ראשונית שעובדת אבל היום אני מפרסם אותה עם קצת תיקונים.אוקיי, אז מה זה, אני פשוט עשיתי ממשק כדי לבחור איזה אפליקציות להשאיר , וגם הוספתי כמה דברים נחמדים כמו לאשר לאיזה אפליקציות יהיה חיבור לרשת וממשק די נחמד אף שהוא לא כ"כ מושקע, כמובן שזה לא חוסם דפדפן מובנה, זה חסימה שעובדת לפי אפליקציות בלבד, עם חומת אש שניתן לבחור לאיזה אפליקציות יהיה חיבור לרשת, יש גם הגנה נגד איפוס על המכשיר, לכן שמו לב לזה. הנה כמה צילומי מסך :
וגם על טאבלט :
ניתן לנסות את האפליקצייה אך חשוב לדעת שכל עוד שלא הפעלתי את המכשיר, ניתן להוריד את החסימה ללא סיסמה, ולמי שרוצה שאני אפעיל אותו, שינסה ויפנה אליי באופן אישי.
אז הנה הקובץ : com.kdroid.kiosk(0.8.1)-release.zip
כמובן צריך מחשב עם ADB, למחוק את כל החשבונות על המכשיר ולהפעיל אותה עם הפקודה הבא :
adb shell dpm set-device-owner com.kdroid.kiosk/.framework.managers.dpm.DpmReceiver
אוקיי זהו להיום !
בברכה
זה הרבה קוד בשביל אפליקצייה כ"כ קטנה, ממש ארכיטקטורה לא מתאימה לפרוייקט קטן כזה├── core
│ ├── data
│ │ ├── local
│ │ │ └── PreferencesRepository.kt
│ │ ├── preview
│ │ │ └── FakeData.kt
│ │ └── remote
│ │ └── checkIfDeviceIsAuthorized.kt
│ ├── domain
│ │ ├── allowedapplications
│ │ │ └── AllowedApplicationsRepository.kt
│ │ ├── managers
│ │ │ └── license
│ │ │ ├── LicenseManagerImpl.kt
│ │ │ └── LicenseManager.kt
│ │ └── utils
│ │ └── Hash.kt
│ └── presentation
│ ├── components
│ │ ├── AppIcon.kt
│ │ ├── BrightnessControl.kt
│ │ ├── CenteredTitle.kt
│ │ ├── Clock.kt
│ │ ├── CodeBlock.kt
│ │ ├── ConfigScaffold.kt
│ │ ├── GeneralAppBar.kt
│ │ ├── HebrewDate.kt
│ │ ├── InstallationStepper.kt
│ │ ├── InstallerConfirmButton.kt
│ │ ├── PasswordDialog.kt
│ │ ├── PasswordField.kt
│ │ ├── ResponsiveScreen.kt
│ │ └── WarningInfo.kt
│ ├── events
│ │ ├── SnackbarEventHandler.kt
│ │ └── SnackbarEvent.kt
│ ├── navigation
│ │ ├── AppNavHost.kt
│ │ ├── NavGraph.kt
│ │ ├── NavState.kt
│ │ ├── NavTransition.kt
│ │ └── NavViewModel.kt
│ └── theme
│ ├── Color.kt
│ ├── Theme.kt
│ └── Type.kt
├── features
│ ├── config
│ │ ├── allowedappsconfig
│ │ │ ├── AllowedAppsConfigEvent.kt
│ │ │ ├── AllowedAppsConfigScreen.kt
│ │ │ ├── AllowedAppsConfigState.kt
│ │ │ └── AllowedAppsConfigViewModel.kt
│ │ ├── ConfigurationItems.kt
│ │ ├── dpmconfig
│ │ │ ├── components
│ │ │ │ └── DisclaimerDialog.kt
│ │ │ ├── DpmConfigEvents.kt
│ │ │ ├── DpmConfigScreen.kt
│ │ │ ├── DpmConfigState.kt
│ │ │ └── DpmConfigViewModel.kt
│ │ ├── networkconfig
│ │ │ ├── NetworkConfigEvent.kt
│ │ │ ├── NetworkConfigRepository.kt
│ │ │ ├── NetworkConfigScreen.kt
│ │ │ ├── NetworkConfigState.kt
│ │ │ └── NetworkConfigViewmodel.kt
│ │ ├── passwordconfig
│ │ │ ├── PasswordConfigEvents.kt
│ │ │ ├── PasswordConfigScreen.kt
│ │ │ ├── PasswordConfigState.kt
│ │ │ └── PasswordConfigViewModel.kt
│ │ └── restrictionsconfig
│ │ ├── RestrictionsConfigEvents.kt
│ │ ├── RestrictionsConfigRepository.kt
│ │ ├── RestrictionsConfigScreen.kt
│ │ ├── RestrictionsConfigState.kt
│ │ ├── RestrictionsConfigViewModel.kt
│ │ └── RestrictionsItems.kt
│ ├── home
│ │ ├── components
│ │ │ ├── batteryindicator
│ │ │ │ ├── BatteryLevel.kt
│ │ │ │ ├── BatteryLevelState.kt
│ │ │ │ └── BatteryLevelViewModel.kt
│ │ │ └── NavigationItems.kt
│ │ ├── HomeEvents.kt
│ │ ├── HomeScreen.kt
│ │ ├── HomeScreenState.kt
│ │ └── HomeScreenViewModel.kt
│ ├── loading
│ │ └── Loading.kt
│ └── settings
│ ├── SettingsScreenEvent.kt
│ ├── SettingsScreen.kt
│ ├── SettingsScreenViewModel.kt
│ └── SettingsState.kt
├── framework
│ ├── di
│ │ └── AppModule.kt
│ ├── managers
│ │ ├── applications
│ │ │ ├── manager
│ │ │ │ ├── ApplicationManagerImpl.kt
│ │ │ │ ├── ApplicationManager.kt
│ │ │ │ └── ApplicationModel.kt
│ │ │ └── receiver
│ │ │ └── ApplicationInstallationReceiver.kt
│ │ ├── batterylevel
│ │ │ ├── BatteryLevelManagerImpl.kt
│ │ │ └── BatteryLevelManager.kt
│ │ ├── dpm
│ │ │ ├── DeviceOwnerConstants.kt
│ │ │ ├── DpmManagerImpl.kt
│ │ │ ├── DpmManager.kt
│ │ │ ├── DpmReceiver.kt
│ │ │ └── FrpManager.kt
│ │ └── systemsettings
│ │ └── SystemSettingsManager.kt
│ ├── receiver
│ │ └── BootReceiver.kt
│ └── services
│ ├── BackgroundServices.kt
│ ├── FakeVpnService.kt
│ ├── ServicesStarterOnBoot.kt
│ └── utils
│ └── ServicesUtils.kt
├── MainActivity.kt
└── MainApplication.kt41 directories, 89 files
@לא-מתייאש אני מבקש ממך להמשיך עם זה בכל המרץ והכוח, כרגע הקיידרואיד שלך, זה הדבר היחיד שהצלחתי הוא יותר נכון שלא הצלחתי לשנות אחרי התקנה מכשיר הניסויים שלי כיום זה מכשיר שבעבר היה של הדרן וד"ל
-
שלום לכולם,
קודם כל, לא, אני מטצער, זה לא גרסה 1.0 של קיידרואיד, והאמת שזה כמעט ולא קשור לקיידרואיד (חוץ מהשם אבל לא מצאתי לו משהו אחר מקיידרואיד קיוסק) , אוקיי אתחיל עם הקונטקסט של הדברים, ולמי שזה לא מעניין אותו, ישידלג ישיר לקטע הבה. אבל בעצם, אני ב"ה כמעט סיימתי את המודול של הויפיאן של קיידרואיד 1.0 וכל מה שקשור לסינון של התוכן (שזה לדעתי החלק ההכי קשה) ועכשיו (לפני כ-3 שבועות בערך), הייתי צריך להתחיל את האפליקצייה, כולל כל הממשק, הסינכרון עם השרת וכו וכו, שזה בעצם אפליקצייה סנטדרטית לחלוטין, אך היה לי שאלה שהרבה זמן אני חושב עליה, איזה ארכיטקטורה של אפליקציה אני אבחר... והגעתי למסקנה שבשביל קיידרואיד, ההכי טוב יהיה שילוב של כמה ביחד (למי שזה מעניין, שילוב של Feature-based + Clean + MVVM וכמובן DI עם Koin, אבל לא באתי לדבר על פן הטכני), אבל הייתה לי בעייה שאף פעם לא בניתי אפליקצייה עם 3 ביחד, ולהתחיל עם קיידראויד בלי להתנסות על משהו, לא רציתי, לכן חיפשתי פרוייקט קטן כדי לנסות את השילוב הזה והאם באמת הוא יתאים.
ואז אני רואה את הפוסט הזה, אמרתי לעצמי שזה יכול להיות מעולה, כי אני אוכל לבדוק את הארכיטקטורה וגם אוכל לבדוק אחד מההגנות של קיידרואיד נגד מי שיעשה רוט עם קיידרואיד מותקן, שזה בעצם מצב שיחסום לגמרי את הגישה לממשק של המכשיר ואפילו הכפתורים למטה עם הודעה נחמדה שהמכשיר חסום כל עוד שיש למכשיר רוט. (באמת הכזבו אותי כל אלו שלא עשו התקנה כראוי ולכלכו אח"כ בפומבי על קידירואיד ), זה לקח שבוע אוליי עד שהתחלתי בפועל, עד שסגרנו עם בעל הפוסט וכו, והוא קיבל גרסה ראשונית שעובדת אבל היום אני מפרסם אותה עם קצת תיקונים.אוקיי, אז מה זה, אני פשוט עשיתי ממשק כדי לבחור איזה אפליקציות להשאיר , וגם הוספתי כמה דברים נחמדים כמו לאשר לאיזה אפליקציות יהיה חיבור לרשת וממשק די נחמד אף שהוא לא כ"כ מושקע, כמובן שזה לא חוסם דפדפן מובנה, זה חסימה שעובדת לפי אפליקציות בלבד, עם חומת אש שניתן לבחור לאיזה אפליקציות יהיה חיבור לרשת, יש גם הגנה נגד איפוס על המכשיר, לכן שמו לב לזה. הנה כמה צילומי מסך :
וגם על טאבלט :
ניתן לנסות את האפליקצייה אך חשוב לדעת שכל עוד שלא הפעלתי את המכשיר, ניתן להוריד את החסימה ללא סיסמה, ולמי שרוצה שאני אפעיל אותו, שינסה ויפנה אליי באופן אישי.
אז הנה הקובץ : com.kdroid.kiosk(0.8.1)-release.zip
כמובן צריך מחשב עם ADB, למחוק את כל החשבונות על המכשיר ולהפעיל אותה עם הפקודה הבא :
adb shell dpm set-device-owner com.kdroid.kiosk/.framework.managers.dpm.DpmReceiver
אוקיי זהו להיום !
בברכה
זה הרבה קוד בשביל אפליקצייה כ"כ קטנה, ממש ארכיטקטורה לא מתאימה לפרוייקט קטן כזה├── core
│ ├── data
│ │ ├── local
│ │ │ └── PreferencesRepository.kt
│ │ ├── preview
│ │ │ └── FakeData.kt
│ │ └── remote
│ │ └── checkIfDeviceIsAuthorized.kt
│ ├── domain
│ │ ├── allowedapplications
│ │ │ └── AllowedApplicationsRepository.kt
│ │ ├── managers
│ │ │ └── license
│ │ │ ├── LicenseManagerImpl.kt
│ │ │ └── LicenseManager.kt
│ │ └── utils
│ │ └── Hash.kt
│ └── presentation
│ ├── components
│ │ ├── AppIcon.kt
│ │ ├── BrightnessControl.kt
│ │ ├── CenteredTitle.kt
│ │ ├── Clock.kt
│ │ ├── CodeBlock.kt
│ │ ├── ConfigScaffold.kt
│ │ ├── GeneralAppBar.kt
│ │ ├── HebrewDate.kt
│ │ ├── InstallationStepper.kt
│ │ ├── InstallerConfirmButton.kt
│ │ ├── PasswordDialog.kt
│ │ ├── PasswordField.kt
│ │ ├── ResponsiveScreen.kt
│ │ └── WarningInfo.kt
│ ├── events
│ │ ├── SnackbarEventHandler.kt
│ │ └── SnackbarEvent.kt
│ ├── navigation
│ │ ├── AppNavHost.kt
│ │ ├── NavGraph.kt
│ │ ├── NavState.kt
│ │ ├── NavTransition.kt
│ │ └── NavViewModel.kt
│ └── theme
│ ├── Color.kt
│ ├── Theme.kt
│ └── Type.kt
├── features
│ ├── config
│ │ ├── allowedappsconfig
│ │ │ ├── AllowedAppsConfigEvent.kt
│ │ │ ├── AllowedAppsConfigScreen.kt
│ │ │ ├── AllowedAppsConfigState.kt
│ │ │ └── AllowedAppsConfigViewModel.kt
│ │ ├── ConfigurationItems.kt
│ │ ├── dpmconfig
│ │ │ ├── components
│ │ │ │ └── DisclaimerDialog.kt
│ │ │ ├── DpmConfigEvents.kt
│ │ │ ├── DpmConfigScreen.kt
│ │ │ ├── DpmConfigState.kt
│ │ │ └── DpmConfigViewModel.kt
│ │ ├── networkconfig
│ │ │ ├── NetworkConfigEvent.kt
│ │ │ ├── NetworkConfigRepository.kt
│ │ │ ├── NetworkConfigScreen.kt
│ │ │ ├── NetworkConfigState.kt
│ │ │ └── NetworkConfigViewmodel.kt
│ │ ├── passwordconfig
│ │ │ ├── PasswordConfigEvents.kt
│ │ │ ├── PasswordConfigScreen.kt
│ │ │ ├── PasswordConfigState.kt
│ │ │ └── PasswordConfigViewModel.kt
│ │ └── restrictionsconfig
│ │ ├── RestrictionsConfigEvents.kt
│ │ ├── RestrictionsConfigRepository.kt
│ │ ├── RestrictionsConfigScreen.kt
│ │ ├── RestrictionsConfigState.kt
│ │ ├── RestrictionsConfigViewModel.kt
│ │ └── RestrictionsItems.kt
│ ├── home
│ │ ├── components
│ │ │ ├── batteryindicator
│ │ │ │ ├── BatteryLevel.kt
│ │ │ │ ├── BatteryLevelState.kt
│ │ │ │ └── BatteryLevelViewModel.kt
│ │ │ └── NavigationItems.kt
│ │ ├── HomeEvents.kt
│ │ ├── HomeScreen.kt
│ │ ├── HomeScreenState.kt
│ │ └── HomeScreenViewModel.kt
│ ├── loading
│ │ └── Loading.kt
│ └── settings
│ ├── SettingsScreenEvent.kt
│ ├── SettingsScreen.kt
│ ├── SettingsScreenViewModel.kt
│ └── SettingsState.kt
├── framework
│ ├── di
│ │ └── AppModule.kt
│ ├── managers
│ │ ├── applications
│ │ │ ├── manager
│ │ │ │ ├── ApplicationManagerImpl.kt
│ │ │ │ ├── ApplicationManager.kt
│ │ │ │ └── ApplicationModel.kt
│ │ │ └── receiver
│ │ │ └── ApplicationInstallationReceiver.kt
│ │ ├── batterylevel
│ │ │ ├── BatteryLevelManagerImpl.kt
│ │ │ └── BatteryLevelManager.kt
│ │ ├── dpm
│ │ │ ├── DeviceOwnerConstants.kt
│ │ │ ├── DpmManagerImpl.kt
│ │ │ ├── DpmManager.kt
│ │ │ ├── DpmReceiver.kt
│ │ │ └── FrpManager.kt
│ │ └── systemsettings
│ │ └── SystemSettingsManager.kt
│ ├── receiver
│ │ └── BootReceiver.kt
│ └── services
│ ├── BackgroundServices.kt
│ ├── FakeVpnService.kt
│ ├── ServicesStarterOnBoot.kt
│ └── utils
│ └── ServicesUtils.kt
├── MainActivity.kt
└── MainApplication.kt41 directories, 89 files
@לא-מתייאש מדהים! עולה כסף? (מלבד מה שמצוה לתת...)
-
@לא-מתייאש מדהים! עולה כסף? (מלבד מה שמצוה לתת...)
@Ykingsmart כתב בשיתוף | להגביל מכשיר אנדרואיד לכמה אפליקציות בלבד - האפליקצייה החדשה שלי:
@לא-מתייאש מדהים! עולה כסף? (מלבד מה שמצוה לתת...)
כן
אפשר לנסות בחינם אבל בלי אופציה לחסימה אמיתית
כלומר ניתן להסיר בלחיצה כפתור -
@Ykingsmart כתב בשיתוף | להגביל מכשיר אנדרואיד לכמה אפליקציות בלבד - האפליקצייה החדשה שלי:
@לא-מתייאש מדהים! עולה כסף? (מלבד מה שמצוה לתת...)
כן
אפשר לנסות בחינם אבל בלי אופציה לחסימה אמיתית
כלומר ניתן להסיר בלחיצה כפתור@מתושלח-הבבלי כבר נחמץ ליבי...
כי אני שילמתי על זה, ופתאום אני רואה שיש את זה בחינם...
כמובן שהייתי שמח אם דבר כזה עומד לציבור בחינם, אבל @לא-מתייאש עבד והשקיע שעות, עמל ויזע בפרוייקט.
אז בהחלט מגיע לו!
-
@Ykingsmart כתב בשיתוף | להגביל מכשיר אנדרואיד לכמה אפליקציות בלבד - האפליקצייה החדשה שלי:
@לא-מתייאש מדהים! עולה כסף? (מלבד מה שמצוה לתת...)
כן
אפשר לנסות בחינם אבל בלי אופציה לחסימה אמיתית
כלומר ניתן להסיר בלחיצה כפתור@מתושלח-הבבלי כתב בשיתוף | להגביל מכשיר אנדרואיד לכמה אפליקציות בלבד - האפליקצייה החדשה שלי:
כן
כמה? או שאתה צעדיף שכל אחד ישאל את זה באופן אישי
-
@מתושלח-הבבלי כתב בשיתוף | להגביל מכשיר אנדרואיד לכמה אפליקציות בלבד - האפליקצייה החדשה שלי:
כן
כמה? או שאתה צעדיף שכל אחד ישאל את זה באופן אישי
-
המחיר הוא של 75 דולר, אך מי שכבר תרם לי את הסכום הזה יקבל רישיון בחינם, רק שיצור איתי קשר, זה מתנה שלי לאלו שתרמו. ומי שכבר תרם פחות, יכול להשלים את הפרש.
אני מבין שזה יותר יקר מגרסה, אבל אם לא זה, לא הייתי בונה את הפרייקט הזה בכלל, הייתי הולך על משהו אחר, לכן היה צריך להביא לי מוציבציה לבנות את זהובפרט שאני לא הייתי בטוח למכור יותר מרישון אחד
חוץ מזה, הרבה שואלים אותי לוויז, זה לא מומלץ כי אני לא חוסם דפדפן מובנה, ב"ה ללא התחייבות, אני אתן להשבית הרכיב של הדפדפן מובנה, אבל עדיין לדעתי יותר טוב קיידראויד בשביל שימוש כזה, זה ממש נועד יותר לרחפנים או לאלו שמאוד לא רוצים שידמה לסמארטפון. -
המחיר הוא של 75 דולר, אך מי שכבר תרם לי את הסכום הזה יקבל רישיון בחינם, רק שיצור איתי קשר, זה מתנה שלי לאלו שתרמו. ומי שכבר תרם פחות, יכול להשלים את הפרש.
אני מבין שזה יותר יקר מגרסה, אבל אם לא זה, לא הייתי בונה את הפרייקט הזה בכלל, הייתי הולך על משהו אחר, לכן היה צריך להביא לי מוציבציה לבנות את זהובפרט שאני לא הייתי בטוח למכור יותר מרישון אחד
חוץ מזה, הרבה שואלים אותי לוויז, זה לא מומלץ כי אני לא חוסם דפדפן מובנה, ב"ה ללא התחייבות, אני אתן להשבית הרכיב של הדפדפן מובנה, אבל עדיין לדעתי יותר טוב קיידראויד בשביל שימוש כזה, זה ממש נועד יותר לרחפנים או לאלו שמאוד לא רוצים שידמה לסמארטפון.@לא-מתייאש שאלה
אפשר להתקין את האפליקציה הזאת ביחד עם קיידרואיד או שהם לא יעבדו בחפיפה? -
@לא-מתייאש שאלה
אפשר להתקין את האפליקציה הזאת ביחד עם קיידרואיד או שהם לא יעבדו בחפיפה?@הלי כתב בשיתוף | להגביל מכשיר אנדרואיד לכמה אפליקציות בלבד - האפליקצייה החדשה שלי:
@לא-מתייאש שאלה
אפשר להתקין את האפליקציה הזאת ביחד עם קיידרואיד או שהם לא יעבדו בחפיפה?לא אי אפשר
-
שלום לכולם,
קודם כל, לא, אני מטצער, זה לא גרסה 1.0 של קיידרואיד, והאמת שזה כמעט ולא קשור לקיידרואיד (חוץ מהשם אבל לא מצאתי לו משהו אחר מקיידרואיד קיוסק) , אוקיי אתחיל עם הקונטקסט של הדברים, ולמי שזה לא מעניין אותו, ישידלג ישיר לקטע הבה. אבל בעצם, אני ב"ה כמעט סיימתי את המודול של הויפיאן של קיידרואיד 1.0 וכל מה שקשור לסינון של התוכן (שזה לדעתי החלק ההכי קשה) ועכשיו (לפני כ-3 שבועות בערך), הייתי צריך להתחיל את האפליקצייה, כולל כל הממשק, הסינכרון עם השרת וכו וכו, שזה בעצם אפליקצייה סנטדרטית לחלוטין, אך היה לי שאלה שהרבה זמן אני חושב עליה, איזה ארכיטקטורה של אפליקציה אני אבחר... והגעתי למסקנה שבשביל קיידרואיד, ההכי טוב יהיה שילוב של כמה ביחד (למי שזה מעניין, שילוב של Feature-based + Clean + MVVM וכמובן DI עם Koin, אבל לא באתי לדבר על פן הטכני), אבל הייתה לי בעייה שאף פעם לא בניתי אפליקצייה עם 3 ביחד, ולהתחיל עם קיידראויד בלי להתנסות על משהו, לא רציתי, לכן חיפשתי פרוייקט קטן כדי לנסות את השילוב הזה והאם באמת הוא יתאים.
ואז אני רואה את הפוסט הזה, אמרתי לעצמי שזה יכול להיות מעולה, כי אני אוכל לבדוק את הארכיטקטורה וגם אוכל לבדוק אחד מההגנות של קיידרואיד נגד מי שיעשה רוט עם קיידרואיד מותקן, שזה בעצם מצב שיחסום לגמרי את הגישה לממשק של המכשיר ואפילו הכפתורים למטה עם הודעה נחמדה שהמכשיר חסום כל עוד שיש למכשיר רוט. (באמת הכזבו אותי כל אלו שלא עשו התקנה כראוי ולכלכו אח"כ בפומבי על קידירואיד ), זה לקח שבוע אוליי עד שהתחלתי בפועל, עד שסגרנו עם בעל הפוסט וכו, והוא קיבל גרסה ראשונית שעובדת אבל היום אני מפרסם אותה עם קצת תיקונים.אוקיי, אז מה זה, אני פשוט עשיתי ממשק כדי לבחור איזה אפליקציות להשאיר , וגם הוספתי כמה דברים נחמדים כמו לאשר לאיזה אפליקציות יהיה חיבור לרשת וממשק די נחמד אף שהוא לא כ"כ מושקע, כמובן שזה לא חוסם דפדפן מובנה, זה חסימה שעובדת לפי אפליקציות בלבד, עם חומת אש שניתן לבחור לאיזה אפליקציות יהיה חיבור לרשת, יש גם הגנה נגד איפוס על המכשיר, לכן שמו לב לזה. הנה כמה צילומי מסך :
וגם על טאבלט :
ניתן לנסות את האפליקצייה אך חשוב לדעת שכל עוד שלא הפעלתי את המכשיר, ניתן להוריד את החסימה ללא סיסמה, ולמי שרוצה שאני אפעיל אותו, שינסה ויפנה אליי באופן אישי.
אז הנה הקובץ : com.kdroid.kiosk(0.8.1)-release.zip
כמובן צריך מחשב עם ADB, למחוק את כל החשבונות על המכשיר ולהפעיל אותה עם הפקודה הבא :
adb shell dpm set-device-owner com.kdroid.kiosk/.framework.managers.dpm.DpmReceiver
אוקיי זהו להיום !
בברכה
זה הרבה קוד בשביל אפליקצייה כ"כ קטנה, ממש ארכיטקטורה לא מתאימה לפרוייקט קטן כזה├── core
│ ├── data
│ │ ├── local
│ │ │ └── PreferencesRepository.kt
│ │ ├── preview
│ │ │ └── FakeData.kt
│ │ └── remote
│ │ └── checkIfDeviceIsAuthorized.kt
│ ├── domain
│ │ ├── allowedapplications
│ │ │ └── AllowedApplicationsRepository.kt
│ │ ├── managers
│ │ │ └── license
│ │ │ ├── LicenseManagerImpl.kt
│ │ │ └── LicenseManager.kt
│ │ └── utils
│ │ └── Hash.kt
│ └── presentation
│ ├── components
│ │ ├── AppIcon.kt
│ │ ├── BrightnessControl.kt
│ │ ├── CenteredTitle.kt
│ │ ├── Clock.kt
│ │ ├── CodeBlock.kt
│ │ ├── ConfigScaffold.kt
│ │ ├── GeneralAppBar.kt
│ │ ├── HebrewDate.kt
│ │ ├── InstallationStepper.kt
│ │ ├── InstallerConfirmButton.kt
│ │ ├── PasswordDialog.kt
│ │ ├── PasswordField.kt
│ │ ├── ResponsiveScreen.kt
│ │ └── WarningInfo.kt
│ ├── events
│ │ ├── SnackbarEventHandler.kt
│ │ └── SnackbarEvent.kt
│ ├── navigation
│ │ ├── AppNavHost.kt
│ │ ├── NavGraph.kt
│ │ ├── NavState.kt
│ │ ├── NavTransition.kt
│ │ └── NavViewModel.kt
│ └── theme
│ ├── Color.kt
│ ├── Theme.kt
│ └── Type.kt
├── features
│ ├── config
│ │ ├── allowedappsconfig
│ │ │ ├── AllowedAppsConfigEvent.kt
│ │ │ ├── AllowedAppsConfigScreen.kt
│ │ │ ├── AllowedAppsConfigState.kt
│ │ │ └── AllowedAppsConfigViewModel.kt
│ │ ├── ConfigurationItems.kt
│ │ ├── dpmconfig
│ │ │ ├── components
│ │ │ │ └── DisclaimerDialog.kt
│ │ │ ├── DpmConfigEvents.kt
│ │ │ ├── DpmConfigScreen.kt
│ │ │ ├── DpmConfigState.kt
│ │ │ └── DpmConfigViewModel.kt
│ │ ├── networkconfig
│ │ │ ├── NetworkConfigEvent.kt
│ │ │ ├── NetworkConfigRepository.kt
│ │ │ ├── NetworkConfigScreen.kt
│ │ │ ├── NetworkConfigState.kt
│ │ │ └── NetworkConfigViewmodel.kt
│ │ ├── passwordconfig
│ │ │ ├── PasswordConfigEvents.kt
│ │ │ ├── PasswordConfigScreen.kt
│ │ │ ├── PasswordConfigState.kt
│ │ │ └── PasswordConfigViewModel.kt
│ │ └── restrictionsconfig
│ │ ├── RestrictionsConfigEvents.kt
│ │ ├── RestrictionsConfigRepository.kt
│ │ ├── RestrictionsConfigScreen.kt
│ │ ├── RestrictionsConfigState.kt
│ │ ├── RestrictionsConfigViewModel.kt
│ │ └── RestrictionsItems.kt
│ ├── home
│ │ ├── components
│ │ │ ├── batteryindicator
│ │ │ │ ├── BatteryLevel.kt
│ │ │ │ ├── BatteryLevelState.kt
│ │ │ │ └── BatteryLevelViewModel.kt
│ │ │ └── NavigationItems.kt
│ │ ├── HomeEvents.kt
│ │ ├── HomeScreen.kt
│ │ ├── HomeScreenState.kt
│ │ └── HomeScreenViewModel.kt
│ ├── loading
│ │ └── Loading.kt
│ └── settings
│ ├── SettingsScreenEvent.kt
│ ├── SettingsScreen.kt
│ ├── SettingsScreenViewModel.kt
│ └── SettingsState.kt
├── framework
│ ├── di
│ │ └── AppModule.kt
│ ├── managers
│ │ ├── applications
│ │ │ ├── manager
│ │ │ │ ├── ApplicationManagerImpl.kt
│ │ │ │ ├── ApplicationManager.kt
│ │ │ │ └── ApplicationModel.kt
│ │ │ └── receiver
│ │ │ └── ApplicationInstallationReceiver.kt
│ │ ├── batterylevel
│ │ │ ├── BatteryLevelManagerImpl.kt
│ │ │ └── BatteryLevelManager.kt
│ │ ├── dpm
│ │ │ ├── DeviceOwnerConstants.kt
│ │ │ ├── DpmManagerImpl.kt
│ │ │ ├── DpmManager.kt
│ │ │ ├── DpmReceiver.kt
│ │ │ └── FrpManager.kt
│ │ └── systemsettings
│ │ └── SystemSettingsManager.kt
│ ├── receiver
│ │ └── BootReceiver.kt
│ └── services
│ ├── BackgroundServices.kt
│ ├── FakeVpnService.kt
│ ├── ServicesStarterOnBoot.kt
│ └── utils
│ └── ServicesUtils.kt
├── MainActivity.kt
└── MainApplication.kt41 directories, 89 files
@לא-מתייאש התקנתי את הגרסא של הקיידרואיד שכבר הבאת על הנגן שלי.
האם אני יכול להתקין עכשיו את הגרסא שהבאת - כלומר להחליף גרסאות?
ועוד דבר, לא כל כך הבנתי אותך. מה ההבדל בין הגרסא הזאת שאתה מביא כאן לגרסא הקודמת?
[אני זוכר שדיברת פעם על חנות עם אפליקציות שייבדקו אחד אחד, מה עם זה?] -
@לא-מתייאש התקנתי את הגרסא של הקיידרואיד שכבר הבאת על הנגן שלי.
האם אני יכול להתקין עכשיו את הגרסא שהבאת - כלומר להחליף גרסאות?
ועוד דבר, לא כל כך הבנתי אותך. מה ההבדל בין הגרסא הזאת שאתה מביא כאן לגרסא הקודמת?
[אני זוכר שדיברת פעם על חנות עם אפליקציות שייבדקו אחד אחד, מה עם זה?]@בין-אדם-לחבירו מה שכאן זה לא קשור לקיידרואיד, תקרא מה הוא רשם, זה קייוסק, ממש לא קיידרואיד, ולא הגרסה החדשה של קיידרואיד
אם מותקן לך קיידרואיד אתה לא יכול להתקין את זה.. -
@לא-מתייאש התקנתי את הגרסא של הקיידרואיד שכבר הבאת על הנגן שלי.
האם אני יכול להתקין עכשיו את הגרסא שהבאת - כלומר להחליף גרסאות?
ועוד דבר, לא כל כך הבנתי אותך. מה ההבדל בין הגרסא הזאת שאתה מביא כאן לגרסא הקודמת?
[אני זוכר שדיברת פעם על חנות עם אפליקציות שייבדקו אחד אחד, מה עם זה?]@בין-אדם-לחבירו כתב בשיתוף | להגביל מכשיר אנדרואיד לכמה אפליקציות בלבד - האפליקצייה החדשה שלי:
@לא-מתייאש התקנתי את הגרסא של הקיידרואיד שכבר הבאת על הנגן שלי.
האם אני יכול להתקין עכשיו את הגרסא שהבאת - כלומר להחליף גרסאות?
ועוד דבר, לא כל כך הבנתי אותך. מה ההבדל בין הגרסא הזאת שאתה מביא כאן לגרסא הקודמת?
[אני זוכר שדיברת פעם על חנות עם אפליקציות שייבדקו אחד אחד, מה עם זה?]זה לא קשור לקיידרואיד עם החנות אפליקציות
-
@בין-אדם-לחבירו כתב בשיתוף | להגביל מכשיר אנדרואיד לכמה אפליקציות בלבד - האפליקצייה החדשה שלי:
@לא-מתייאש התקנתי את הגרסא של הקיידרואיד שכבר הבאת על הנגן שלי.
האם אני יכול להתקין עכשיו את הגרסא שהבאת - כלומר להחליף גרסאות?
ועוד דבר, לא כל כך הבנתי אותך. מה ההבדל בין הגרסא הזאת שאתה מביא כאן לגרסא הקודמת?
[אני זוכר שדיברת פעם על חנות עם אפליקציות שייבדקו אחד אחד, מה עם זה?]זה לא קשור לקיידרואיד עם החנות אפליקציות
@מכשיר-נגנים כתב בשיתוף | להגביל מכשיר אנדרואיד לכמה אפליקציות בלבד - האפליקצייה החדשה שלי:
@בין-אדם-לחבירו כתב בשיתוף | להגביל מכשיר אנדרואיד לכמה אפליקציות בלבד - האפליקצייה החדשה שלי:
@לא-מתייאש התקנתי את הגרסא של הקיידרואיד שכבר הבאת על הנגן שלי.
האם אני יכול להתקין עכשיו את הגרסא שהבאת - כלומר להחליף גרסאות?
ועוד דבר, לא כל כך הבנתי אותך. מה ההבדל בין הגרסא הזאת שאתה מביא כאן לגרסא הקודמת?
[אני זוכר שדיברת פעם על חנות עם אפליקציות שייבדקו אחד אחד, מה עם זה?]זה לא קשור לקיידרואיד עם החנות אפליקציות
לא
-
@מכשיר-נגנים כתב בשיתוף | להגביל מכשיר אנדרואיד לכמה אפליקציות בלבד - האפליקצייה החדשה שלי:
@בין-אדם-לחבירו כתב בשיתוף | להגביל מכשיר אנדרואיד לכמה אפליקציות בלבד - האפליקצייה החדשה שלי:
@לא-מתייאש התקנתי את הגרסא של הקיידרואיד שכבר הבאת על הנגן שלי.
האם אני יכול להתקין עכשיו את הגרסא שהבאת - כלומר להחליף גרסאות?
ועוד דבר, לא כל כך הבנתי אותך. מה ההבדל בין הגרסא הזאת שאתה מביא כאן לגרסא הקודמת?
[אני זוכר שדיברת פעם על חנות עם אפליקציות שייבדקו אחד אחד, מה עם זה?]זה לא קשור לקיידרואיד עם החנות אפליקציות
לא
@מתושלח-הבבלי
זה היה בסימן . -
שלום לכולם,
קודם כל, לא, אני מטצער, זה לא גרסה 1.0 של קיידרואיד, והאמת שזה כמעט ולא קשור לקיידרואיד (חוץ מהשם אבל לא מצאתי לו משהו אחר מקיידרואיד קיוסק) , אוקיי אתחיל עם הקונטקסט של הדברים, ולמי שזה לא מעניין אותו, ישידלג ישיר לקטע הבה. אבל בעצם, אני ב"ה כמעט סיימתי את המודול של הויפיאן של קיידרואיד 1.0 וכל מה שקשור לסינון של התוכן (שזה לדעתי החלק ההכי קשה) ועכשיו (לפני כ-3 שבועות בערך), הייתי צריך להתחיל את האפליקצייה, כולל כל הממשק, הסינכרון עם השרת וכו וכו, שזה בעצם אפליקצייה סנטדרטית לחלוטין, אך היה לי שאלה שהרבה זמן אני חושב עליה, איזה ארכיטקטורה של אפליקציה אני אבחר... והגעתי למסקנה שבשביל קיידרואיד, ההכי טוב יהיה שילוב של כמה ביחד (למי שזה מעניין, שילוב של Feature-based + Clean + MVVM וכמובן DI עם Koin, אבל לא באתי לדבר על פן הטכני), אבל הייתה לי בעייה שאף פעם לא בניתי אפליקצייה עם 3 ביחד, ולהתחיל עם קיידראויד בלי להתנסות על משהו, לא רציתי, לכן חיפשתי פרוייקט קטן כדי לנסות את השילוב הזה והאם באמת הוא יתאים.
ואז אני רואה את הפוסט הזה, אמרתי לעצמי שזה יכול להיות מעולה, כי אני אוכל לבדוק את הארכיטקטורה וגם אוכל לבדוק אחד מההגנות של קיידרואיד נגד מי שיעשה רוט עם קיידרואיד מותקן, שזה בעצם מצב שיחסום לגמרי את הגישה לממשק של המכשיר ואפילו הכפתורים למטה עם הודעה נחמדה שהמכשיר חסום כל עוד שיש למכשיר רוט. (באמת הכזבו אותי כל אלו שלא עשו התקנה כראוי ולכלכו אח"כ בפומבי על קידירואיד ), זה לקח שבוע אוליי עד שהתחלתי בפועל, עד שסגרנו עם בעל הפוסט וכו, והוא קיבל גרסה ראשונית שעובדת אבל היום אני מפרסם אותה עם קצת תיקונים.אוקיי, אז מה זה, אני פשוט עשיתי ממשק כדי לבחור איזה אפליקציות להשאיר , וגם הוספתי כמה דברים נחמדים כמו לאשר לאיזה אפליקציות יהיה חיבור לרשת וממשק די נחמד אף שהוא לא כ"כ מושקע, כמובן שזה לא חוסם דפדפן מובנה, זה חסימה שעובדת לפי אפליקציות בלבד, עם חומת אש שניתן לבחור לאיזה אפליקציות יהיה חיבור לרשת, יש גם הגנה נגד איפוס על המכשיר, לכן שמו לב לזה. הנה כמה צילומי מסך :
וגם על טאבלט :
ניתן לנסות את האפליקצייה אך חשוב לדעת שכל עוד שלא הפעלתי את המכשיר, ניתן להוריד את החסימה ללא סיסמה, ולמי שרוצה שאני אפעיל אותו, שינסה ויפנה אליי באופן אישי.
אז הנה הקובץ : com.kdroid.kiosk(0.8.1)-release.zip
כמובן צריך מחשב עם ADB, למחוק את כל החשבונות על המכשיר ולהפעיל אותה עם הפקודה הבא :
adb shell dpm set-device-owner com.kdroid.kiosk/.framework.managers.dpm.DpmReceiver
אוקיי זהו להיום !
בברכה
זה הרבה קוד בשביל אפליקצייה כ"כ קטנה, ממש ארכיטקטורה לא מתאימה לפרוייקט קטן כזה├── core
│ ├── data
│ │ ├── local
│ │ │ └── PreferencesRepository.kt
│ │ ├── preview
│ │ │ └── FakeData.kt
│ │ └── remote
│ │ └── checkIfDeviceIsAuthorized.kt
│ ├── domain
│ │ ├── allowedapplications
│ │ │ └── AllowedApplicationsRepository.kt
│ │ ├── managers
│ │ │ └── license
│ │ │ ├── LicenseManagerImpl.kt
│ │ │ └── LicenseManager.kt
│ │ └── utils
│ │ └── Hash.kt
│ └── presentation
│ ├── components
│ │ ├── AppIcon.kt
│ │ ├── BrightnessControl.kt
│ │ ├── CenteredTitle.kt
│ │ ├── Clock.kt
│ │ ├── CodeBlock.kt
│ │ ├── ConfigScaffold.kt
│ │ ├── GeneralAppBar.kt
│ │ ├── HebrewDate.kt
│ │ ├── InstallationStepper.kt
│ │ ├── InstallerConfirmButton.kt
│ │ ├── PasswordDialog.kt
│ │ ├── PasswordField.kt
│ │ ├── ResponsiveScreen.kt
│ │ └── WarningInfo.kt
│ ├── events
│ │ ├── SnackbarEventHandler.kt
│ │ └── SnackbarEvent.kt
│ ├── navigation
│ │ ├── AppNavHost.kt
│ │ ├── NavGraph.kt
│ │ ├── NavState.kt
│ │ ├── NavTransition.kt
│ │ └── NavViewModel.kt
│ └── theme
│ ├── Color.kt
│ ├── Theme.kt
│ └── Type.kt
├── features
│ ├── config
│ │ ├── allowedappsconfig
│ │ │ ├── AllowedAppsConfigEvent.kt
│ │ │ ├── AllowedAppsConfigScreen.kt
│ │ │ ├── AllowedAppsConfigState.kt
│ │ │ └── AllowedAppsConfigViewModel.kt
│ │ ├── ConfigurationItems.kt
│ │ ├── dpmconfig
│ │ │ ├── components
│ │ │ │ └── DisclaimerDialog.kt
│ │ │ ├── DpmConfigEvents.kt
│ │ │ ├── DpmConfigScreen.kt
│ │ │ ├── DpmConfigState.kt
│ │ │ └── DpmConfigViewModel.kt
│ │ ├── networkconfig
│ │ │ ├── NetworkConfigEvent.kt
│ │ │ ├── NetworkConfigRepository.kt
│ │ │ ├── NetworkConfigScreen.kt
│ │ │ ├── NetworkConfigState.kt
│ │ │ └── NetworkConfigViewmodel.kt
│ │ ├── passwordconfig
│ │ │ ├── PasswordConfigEvents.kt
│ │ │ ├── PasswordConfigScreen.kt
│ │ │ ├── PasswordConfigState.kt
│ │ │ └── PasswordConfigViewModel.kt
│ │ └── restrictionsconfig
│ │ ├── RestrictionsConfigEvents.kt
│ │ ├── RestrictionsConfigRepository.kt
│ │ ├── RestrictionsConfigScreen.kt
│ │ ├── RestrictionsConfigState.kt
│ │ ├── RestrictionsConfigViewModel.kt
│ │ └── RestrictionsItems.kt
│ ├── home
│ │ ├── components
│ │ │ ├── batteryindicator
│ │ │ │ ├── BatteryLevel.kt
│ │ │ │ ├── BatteryLevelState.kt
│ │ │ │ └── BatteryLevelViewModel.kt
│ │ │ └── NavigationItems.kt
│ │ ├── HomeEvents.kt
│ │ ├── HomeScreen.kt
│ │ ├── HomeScreenState.kt
│ │ └── HomeScreenViewModel.kt
│ ├── loading
│ │ └── Loading.kt
│ └── settings
│ ├── SettingsScreenEvent.kt
│ ├── SettingsScreen.kt
│ ├── SettingsScreenViewModel.kt
│ └── SettingsState.kt
├── framework
│ ├── di
│ │ └── AppModule.kt
│ ├── managers
│ │ ├── applications
│ │ │ ├── manager
│ │ │ │ ├── ApplicationManagerImpl.kt
│ │ │ │ ├── ApplicationManager.kt
│ │ │ │ └── ApplicationModel.kt
│ │ │ └── receiver
│ │ │ └── ApplicationInstallationReceiver.kt
│ │ ├── batterylevel
│ │ │ ├── BatteryLevelManagerImpl.kt
│ │ │ └── BatteryLevelManager.kt
│ │ ├── dpm
│ │ │ ├── DeviceOwnerConstants.kt
│ │ │ ├── DpmManagerImpl.kt
│ │ │ ├── DpmManager.kt
│ │ │ ├── DpmReceiver.kt
│ │ │ └── FrpManager.kt
│ │ └── systemsettings
│ │ └── SystemSettingsManager.kt
│ ├── receiver
│ │ └── BootReceiver.kt
│ └── services
│ ├── BackgroundServices.kt
│ ├── FakeVpnService.kt
│ ├── ServicesStarterOnBoot.kt
│ └── utils
│ └── ServicesUtils.kt
├── MainActivity.kt
└── MainApplication.kt41 directories, 89 files
@לא-מתייאש זה יכול לעבוד על מולטימדיה שהיא לא T10 ?
-
@לא-מתייאש זה יכול לעבוד על מולטימדיה שהיא לא T10 ?
@עם-ישראל-חיי כתב בשיתוף | להגביל מכשיר אנדרואיד לכמה אפליקציות בלבד - האפליקצייה החדשה שלי:
@לא-מתייאש זה יכול לעבוד על מולטימדיה שהיא לא T10 ?
אותו דבר כמו בקיידרואיד
עם יש ניפוי באגים אלחוטי-כן
ואם לאו-לאו -
שלום לכולם,
קודם כל, לא, אני מטצער, זה לא גרסה 1.0 של קיידרואיד, והאמת שזה כמעט ולא קשור לקיידרואיד (חוץ מהשם אבל לא מצאתי לו משהו אחר מקיידרואיד קיוסק) , אוקיי אתחיל עם הקונטקסט של הדברים, ולמי שזה לא מעניין אותו, ישידלג ישיר לקטע הבה. אבל בעצם, אני ב"ה כמעט סיימתי את המודול של הויפיאן של קיידרואיד 1.0 וכל מה שקשור לסינון של התוכן (שזה לדעתי החלק ההכי קשה) ועכשיו (לפני כ-3 שבועות בערך), הייתי צריך להתחיל את האפליקצייה, כולל כל הממשק, הסינכרון עם השרת וכו וכו, שזה בעצם אפליקצייה סנטדרטית לחלוטין, אך היה לי שאלה שהרבה זמן אני חושב עליה, איזה ארכיטקטורה של אפליקציה אני אבחר... והגעתי למסקנה שבשביל קיידרואיד, ההכי טוב יהיה שילוב של כמה ביחד (למי שזה מעניין, שילוב של Feature-based + Clean + MVVM וכמובן DI עם Koin, אבל לא באתי לדבר על פן הטכני), אבל הייתה לי בעייה שאף פעם לא בניתי אפליקצייה עם 3 ביחד, ולהתחיל עם קיידראויד בלי להתנסות על משהו, לא רציתי, לכן חיפשתי פרוייקט קטן כדי לנסות את השילוב הזה והאם באמת הוא יתאים.
ואז אני רואה את הפוסט הזה, אמרתי לעצמי שזה יכול להיות מעולה, כי אני אוכל לבדוק את הארכיטקטורה וגם אוכל לבדוק אחד מההגנות של קיידרואיד נגד מי שיעשה רוט עם קיידרואיד מותקן, שזה בעצם מצב שיחסום לגמרי את הגישה לממשק של המכשיר ואפילו הכפתורים למטה עם הודעה נחמדה שהמכשיר חסום כל עוד שיש למכשיר רוט. (באמת הכזבו אותי כל אלו שלא עשו התקנה כראוי ולכלכו אח"כ בפומבי על קידירואיד ), זה לקח שבוע אוליי עד שהתחלתי בפועל, עד שסגרנו עם בעל הפוסט וכו, והוא קיבל גרסה ראשונית שעובדת אבל היום אני מפרסם אותה עם קצת תיקונים.אוקיי, אז מה זה, אני פשוט עשיתי ממשק כדי לבחור איזה אפליקציות להשאיר , וגם הוספתי כמה דברים נחמדים כמו לאשר לאיזה אפליקציות יהיה חיבור לרשת וממשק די נחמד אף שהוא לא כ"כ מושקע, כמובן שזה לא חוסם דפדפן מובנה, זה חסימה שעובדת לפי אפליקציות בלבד, עם חומת אש שניתן לבחור לאיזה אפליקציות יהיה חיבור לרשת, יש גם הגנה נגד איפוס על המכשיר, לכן שמו לב לזה. הנה כמה צילומי מסך :
וגם על טאבלט :
ניתן לנסות את האפליקצייה אך חשוב לדעת שכל עוד שלא הפעלתי את המכשיר, ניתן להוריד את החסימה ללא סיסמה, ולמי שרוצה שאני אפעיל אותו, שינסה ויפנה אליי באופן אישי.
אז הנה הקובץ : com.kdroid.kiosk(0.8.1)-release.zip
כמובן צריך מחשב עם ADB, למחוק את כל החשבונות על המכשיר ולהפעיל אותה עם הפקודה הבא :
adb shell dpm set-device-owner com.kdroid.kiosk/.framework.managers.dpm.DpmReceiver
אוקיי זהו להיום !
בברכה
זה הרבה קוד בשביל אפליקצייה כ"כ קטנה, ממש ארכיטקטורה לא מתאימה לפרוייקט קטן כזה├── core
│ ├── data
│ │ ├── local
│ │ │ └── PreferencesRepository.kt
│ │ ├── preview
│ │ │ └── FakeData.kt
│ │ └── remote
│ │ └── checkIfDeviceIsAuthorized.kt
│ ├── domain
│ │ ├── allowedapplications
│ │ │ └── AllowedApplicationsRepository.kt
│ │ ├── managers
│ │ │ └── license
│ │ │ ├── LicenseManagerImpl.kt
│ │ │ └── LicenseManager.kt
│ │ └── utils
│ │ └── Hash.kt
│ └── presentation
│ ├── components
│ │ ├── AppIcon.kt
│ │ ├── BrightnessControl.kt
│ │ ├── CenteredTitle.kt
│ │ ├── Clock.kt
│ │ ├── CodeBlock.kt
│ │ ├── ConfigScaffold.kt
│ │ ├── GeneralAppBar.kt
│ │ ├── HebrewDate.kt
│ │ ├── InstallationStepper.kt
│ │ ├── InstallerConfirmButton.kt
│ │ ├── PasswordDialog.kt
│ │ ├── PasswordField.kt
│ │ ├── ResponsiveScreen.kt
│ │ └── WarningInfo.kt
│ ├── events
│ │ ├── SnackbarEventHandler.kt
│ │ └── SnackbarEvent.kt
│ ├── navigation
│ │ ├── AppNavHost.kt
│ │ ├── NavGraph.kt
│ │ ├── NavState.kt
│ │ ├── NavTransition.kt
│ │ └── NavViewModel.kt
│ └── theme
│ ├── Color.kt
│ ├── Theme.kt
│ └── Type.kt
├── features
│ ├── config
│ │ ├── allowedappsconfig
│ │ │ ├── AllowedAppsConfigEvent.kt
│ │ │ ├── AllowedAppsConfigScreen.kt
│ │ │ ├── AllowedAppsConfigState.kt
│ │ │ └── AllowedAppsConfigViewModel.kt
│ │ ├── ConfigurationItems.kt
│ │ ├── dpmconfig
│ │ │ ├── components
│ │ │ │ └── DisclaimerDialog.kt
│ │ │ ├── DpmConfigEvents.kt
│ │ │ ├── DpmConfigScreen.kt
│ │ │ ├── DpmConfigState.kt
│ │ │ └── DpmConfigViewModel.kt
│ │ ├── networkconfig
│ │ │ ├── NetworkConfigEvent.kt
│ │ │ ├── NetworkConfigRepository.kt
│ │ │ ├── NetworkConfigScreen.kt
│ │ │ ├── NetworkConfigState.kt
│ │ │ └── NetworkConfigViewmodel.kt
│ │ ├── passwordconfig
│ │ │ ├── PasswordConfigEvents.kt
│ │ │ ├── PasswordConfigScreen.kt
│ │ │ ├── PasswordConfigState.kt
│ │ │ └── PasswordConfigViewModel.kt
│ │ └── restrictionsconfig
│ │ ├── RestrictionsConfigEvents.kt
│ │ ├── RestrictionsConfigRepository.kt
│ │ ├── RestrictionsConfigScreen.kt
│ │ ├── RestrictionsConfigState.kt
│ │ ├── RestrictionsConfigViewModel.kt
│ │ └── RestrictionsItems.kt
│ ├── home
│ │ ├── components
│ │ │ ├── batteryindicator
│ │ │ │ ├── BatteryLevel.kt
│ │ │ │ ├── BatteryLevelState.kt
│ │ │ │ └── BatteryLevelViewModel.kt
│ │ │ └── NavigationItems.kt
│ │ ├── HomeEvents.kt
│ │ ├── HomeScreen.kt
│ │ ├── HomeScreenState.kt
│ │ └── HomeScreenViewModel.kt
│ ├── loading
│ │ └── Loading.kt
│ └── settings
│ ├── SettingsScreenEvent.kt
│ ├── SettingsScreen.kt
│ ├── SettingsScreenViewModel.kt
│ └── SettingsState.kt
├── framework
│ ├── di
│ │ └── AppModule.kt
│ ├── managers
│ │ ├── applications
│ │ │ ├── manager
│ │ │ │ ├── ApplicationManagerImpl.kt
│ │ │ │ ├── ApplicationManager.kt
│ │ │ │ └── ApplicationModel.kt
│ │ │ └── receiver
│ │ │ └── ApplicationInstallationReceiver.kt
│ │ ├── batterylevel
│ │ │ ├── BatteryLevelManagerImpl.kt
│ │ │ └── BatteryLevelManager.kt
│ │ ├── dpm
│ │ │ ├── DeviceOwnerConstants.kt
│ │ │ ├── DpmManagerImpl.kt
│ │ │ ├── DpmManager.kt
│ │ │ ├── DpmReceiver.kt
│ │ │ └── FrpManager.kt
│ │ └── systemsettings
│ │ └── SystemSettingsManager.kt
│ ├── receiver
│ │ └── BootReceiver.kt
│ └── services
│ ├── BackgroundServices.kt
│ ├── FakeVpnService.kt
│ ├── ServicesStarterOnBoot.kt
│ └── utils
│ └── ServicesUtils.kt
├── MainActivity.kt
└── MainApplication.kt41 directories, 89 files
@לא-מתייאש @כולם
שימו לב מיועד לאנדרואיד 9 ומעלה !