Skip to content

Commit 219c716

Browse files
Merge pull request #582 from appdevforall/feat/K2GO-212-forgejo
K2GO-212 feat: add Forgejo (self-hosted Git forge) to K2Go
2 parents 1e86d81 + f8362f7 commit 219c716

83 files changed

Lines changed: 1629 additions & 4 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎controller/app/src/main/java/org/appdevforall/k2go/ModuleRegistry.java‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ public IiabModule(String endpoint, int nameResId, boolean requires64Bit, String
3737
new IiabModule("kiwix", R.string.dash_kiwix, true, "kiwix"), // YAML uses kiwix_install. TRUE = Hidden on 32-bit!
3838
new IiabModule("kolibri", R.string.dash_kolibri, false, "kolibri"), // YAML uses kolibri_install
3939
new IiabModule("maps", R.string.dash_maps, false, "maps"), // YAML uses maps_install
40-
new IiabModule("matomo", R.string.dash_matomo, false, "matomo") // YAML uses matomo_install
40+
new IiabModule("matomo", R.string.dash_matomo, false, "matomo"), // YAML uses matomo_install
41+
new IiabModule("forgejo", R.string.dash_forgejo, false, "forgejo") // YAML uses forgejo_install
4142
// ADFA-4842: "dashboard" is intentionally NOT in the roster. It is no longer an
4243
// application/module — it became the REST API core of K2Go; without it maps FQR and all
4344
// REST content downloads fail. It is part of the core system, not a user-installable module.

‎controller/app/src/main/java/org/appdevforall/k2go/portal/domain/AutoLoginPolicy.java‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ public final class AutoLoginPolicy {
2727
/** Box credential-store service names. */
2828
public static final String CALIBRE = "calibre";
2929
public static final String KOLIBRI = "kolibri";
30+
public static final String FORGEJO = "forgejo";
3031

3132
private AutoLoginPolicy() {}
3233

@@ -40,6 +41,7 @@ public static String serviceFor(String url) {
4041
if (segment == null) return null;
4142
if (segment.equals("books")) return CALIBRE;
4243
if (segment.equals("kolibri")) return KOLIBRI;
44+
if (segment.equals("forgejo")) return FORGEJO;
4345
return null;
4446
}
4547

‎controller/app/src/main/java/org/appdevforall/k2go/redesign/LibraryHomeFragment.java‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ private void populateCards() {
181181
cards.clear();
182182
cards.add(new Card("books", getString(R.string.k2go_card_books), false, R.drawable.ic_card_book));
183183
cards.add(new Card("code", getString(R.string.k2go_card_code), false, R.drawable.ic_card_code));
184+
cards.add(new Card("forgejo", getString(R.string.k2go_card_forgejo), false, R.drawable.ic_card_forgejo));
184185
cards.add(new Card("kiwix", getString(R.string.k2go_card_wikipedia), true, R.drawable.ic_card_wikipedia));
185186
cards.add(new Card("kolibri", getString(R.string.k2go_card_courses), false, R.drawable.ic_card_courses));
186187
cards.add(new Card("maps", getString(R.string.k2go_card_maps), false, R.drawable.ic_card_maps));

‎controller/app/src/main/java/org/appdevforall/k2go/redesign/ModuleCards.java‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,9 @@ public static final class Card {
6363
new Card("code", R.string.k2go_mod_code_title, R.string.k2go_mod_code_title,
6464
R.string.k2go_mod_code_sub, R.string.k2go_mod_code_desc,
6565
R.drawable.k2go_module_placeholder, false),
66+
new Card("forgejo", R.string.k2go_mod_forgejo_title, R.string.k2go_mod_forgejo_title,
67+
R.string.k2go_mod_forgejo_sub, R.string.k2go_mod_forgejo_desc,
68+
R.drawable.k2go_module_placeholder, false),
6669
new Card("matomo", R.string.k2go_mod_matomo_title, R.string.k2go_mod_matomo_title,
6770
R.string.k2go_mod_matomo_sub, R.string.k2go_mod_matomo_desc,
6871
R.drawable.k2go_module_placeholder, false),
@@ -108,6 +111,7 @@ public static String license(String key) {
108111
case "calibreweb": return "GPL-3.0";
109112
case "kiwix": return "GPL-3.0";
110113
case "code": return "MIT";
114+
case "forgejo": return "GPL-3.0-or-later";
111115
case "matomo": return "GPL-3.0";
112116
case "maps": return "Mixed data licenses"; // ADFA-4958: OSM ODbL + Natural Earth (PD) + satellite CC BY-NC-SA 4.0 + GeoNames CC BY 4.0
113117
default: return null;
@@ -137,6 +141,7 @@ public static int includesRes(String key) {
137141
case "calibreweb": return R.string.k2go_mod_calibreweb_includes;
138142
case "kiwix": return R.string.k2go_mod_kiwix_includes;
139143
case "code": return R.string.k2go_mod_code_includes;
144+
case "forgejo": return R.string.k2go_mod_forgejo_includes;
140145
case "matomo": return R.string.k2go_mod_matomo_includes;
141146
case "maps": return R.string.k2go_mod_maps_includes;
142147
default: return 0;
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="40dp" android:height="40dp" android:viewportWidth="24" android:viewportHeight="24">
2+
<path android:fillColor="#000000" android:pathData="M17 16l-4-4V8.82C14.16 8.4 15 7.3 15 6c0-1.66-1.34-3-3-3S9 4.34 9 6c0 1.3.84 2.4 2 2.82V12l-4 4H3v5h5v-3.05l4-4.2 4 4.2V21h5v-5h-4z" />
3+
</vector>

‎controller/app/src/main/res/values-ar/strings.xml‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1341,4 +1341,8 @@
13411341
<string name="k2go_netpolicy_switched_msg">تستخدم التنزيلات الجديدة الآن بيانات الجوال. قد يترتب على ذلك تكلفة أو يستنفد باقة بياناتك.</string>
13421342
<string name="k2go_netpolicy_channel">تنبيهات تكلفة البيانات</string>
13431343
<string name="k2go_help_manual">الدليل</string>
1344+
<string name="k2go_card_forgejo">استضف الشيفرة</string>
1345+
<string name="k2go_mod_forgejo_title">استضافة الشيفرة</string>
1346+
<string name="k2go_mod_forgejo_desc">خادم Git خاص على جهازك. خزّن مستودعات الشيفرة وتتبّع المشكلات وراجع التغييرات دون اتصال. لا حاجة إلى الإنترنت.</string>
1347+
<string name="k2go_mod_forgejo_includes">خادم Git فقط. تنشئ مستودعاتك الخاصة بعد التثبيت.</string>
13441348
</resources>

‎controller/app/src/main/res/values-az/strings.xml‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1361,4 +1361,8 @@
13611361
<string name="k2go_netpolicy_switched_msg">Yeni yükləmələr indi mobil internetdən istifadə edir. Bu, xərc yarada və ya data paketinizi bitirə bilər.</string>
13621362
<string name="k2go_netpolicy_channel">Data xərci bildirişləri</string>
13631363
<string name="k2go_help_manual">Təlimat</string>
1364+
<string name="k2go_card_forgejo">Kodu saxla</string>
1365+
<string name="k2go_mod_forgejo_title">Kod hostinqi</string>
1366+
<string name="k2go_mod_forgejo_desc">Cihazınızda özəl Git serveri. Kod anbarlarını saxlayın, problemləri izləyin və dəyişiklikləri oflayn nəzərdən keçirin. İnternet lazım deyil.</string>
1367+
<string name="k2go_mod_forgejo_includes">Yalnız Git serveri. Quraşdırmadan sonra öz anbarlarınızı yaradırsınız.</string>
13641368
</resources>

‎controller/app/src/main/res/values-bg/strings.xml‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1348,4 +1348,8 @@
13481348
<string name="k2go_netpolicy_switched_msg">Новите изтегляния вече използват мобилни данни. Това може да има такса или да изчерпи плана ви за данни.</string>
13491349
<string name="k2go_netpolicy_channel">Известия за разход на данни</string>
13501350
<string name="k2go_help_manual">Ръководство</string>
1351+
<string name="k2go_card_forgejo">Хостинг на код</string>
1352+
<string name="k2go_mod_forgejo_title">Хостинг на код</string>
1353+
<string name="k2go_mod_forgejo_desc">Частен Git сървър на вашето устройство. Съхранявайте хранилища с код, следете проблеми и преглеждайте промени офлайн. Не е нужен интернет.</string>
1354+
<string name="k2go_mod_forgejo_includes">Само Git сървърът. Създавате собствените си хранилища след инсталиране.</string>
13511355
</resources>

‎controller/app/src/main/res/values-bn/strings.xml‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1354,4 +1354,8 @@
13541354
<string name="k2go_netpolicy_switched_msg">নতুন ডাউনলোডগুলি এখন মোবাইল ডেটা ব্যবহার করে। এতে খরচ হতে পারে বা আপনার ডেটা প্ল্যান শেষ হতে পারে।</string>
13551355
<string name="k2go_netpolicy_channel">ডেটা খরচের সতর্কতা</string>
13561356
<string name="k2go_help_manual">ম্যানুয়াল</string>
1357+
<string name="k2go_card_forgejo">কোড হোস্ট করুন</string>
1358+
<string name="k2go_mod_forgejo_title">কোড হোস্টিং</string>
1359+
<string name="k2go_mod_forgejo_desc">আপনার ডিভাইসে একটি ব্যক্তিগত Git সার্ভার। কোড রিপোজিটরি সংরক্ষণ করুন, সমস্যা ট্র্যাক করুন এবং অফলাইনে পরিবর্তন পর্যালোচনা করুন। ইন্টারনেট লাগবে না।</string>
1360+
<string name="k2go_mod_forgejo_includes">শুধু Git সার্ভার। ইনস্টল করার পরে আপনি নিজের রিপোজিটরি তৈরি করেন।</string>
13571361
</resources>

‎controller/app/src/main/res/values-cs/strings.xml‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1348,4 +1348,8 @@
13481348
<string name="k2go_netpolicy_switched_msg">Nová stahování nyní používají mobilní data. Může být zpoplatněno nebo vyčerpat váš datový limit.</string>
13491349
<string name="k2go_netpolicy_channel">Upozornění na náklady za data</string>
13501350
<string name="k2go_help_manual">Příručka</string>
1351+
<string name="k2go_card_forgejo">Hostovat kód</string>
1352+
<string name="k2go_mod_forgejo_title">Hostování kódu</string>
1353+
<string name="k2go_mod_forgejo_desc">Soukromý Git server na vašem zařízení. Ukládejte úložiště kódu, sledujte problémy a kontrolujte změny offline. Internet není potřeba.</string>
1354+
<string name="k2go_mod_forgejo_includes">Pouze Git server. Vlastní úložiště si vytvoříte po instalaci.</string>
13511355
</resources>

0 commit comments

Comments
 (0)