mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-12-18 14:47:46 +01:00
Add About screen
This commit is contained in:
parent
3695a68e2f
commit
c1a8fb502c
@ -380,6 +380,13 @@
|
|||||||
android:parentActivityName=".activities.ControlCenterv2"
|
android:parentActivityName=".activities.ControlCenterv2"
|
||||||
android:screenOrientation="portrait"
|
android:screenOrientation="portrait"
|
||||||
android:windowSoftInputMode="stateHidden" />
|
android:windowSoftInputMode="stateHidden" />
|
||||||
|
<activity
|
||||||
|
android:name=".activities.AboutActivity"
|
||||||
|
android:label="@string/about_activity_title"
|
||||||
|
android:parentActivityName=".activities.ControlCenterv2"
|
||||||
|
android:screenOrientation="portrait"
|
||||||
|
android:windowSoftInputMode="stateHidden" />
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".activities.DbManagementActivity"
|
android:name=".activities.DbManagementActivity"
|
||||||
android:label="@string/title_activity_db_management"
|
android:label="@string/title_activity_db_management"
|
||||||
|
@ -0,0 +1,58 @@
|
|||||||
|
/* Copyright (C) 2015-2020 abettenburg, Andreas Shimokawa, Carsten Pfeiffer,
|
||||||
|
Daniele Gobbetti, Lem Dulfo
|
||||||
|
|
||||||
|
This file is part of Gadgetbridge.
|
||||||
|
|
||||||
|
Gadgetbridge is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU Affero General Public License as published
|
||||||
|
by the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
Gadgetbridge is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU Affero General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Affero General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||||
|
package nodomain.freeyourgadget.gadgetbridge.activities;
|
||||||
|
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.text.method.LinkMovementMethod;
|
||||||
|
import android.view.Menu;
|
||||||
|
import android.view.MenuInflater;
|
||||||
|
import android.view.MenuItem;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import androidx.appcompat.widget.SearchView;
|
||||||
|
import androidx.core.app.NavUtils;
|
||||||
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import nodomain.freeyourgadget.gadgetbridge.R;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public class AboutActivity extends AbstractGBActivity {
|
||||||
|
private static final Logger LOG = LoggerFactory.getLogger(AboutActivity.class);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_about);
|
||||||
|
TextView link1 = (TextView) findViewById(R.id.about4);
|
||||||
|
link1.setMovementMethod(LinkMovementMethod.getInstance());
|
||||||
|
TextView link2 = (TextView) findViewById(R.id.about5);
|
||||||
|
link2.setMovementMethod(LinkMovementMethod.getInstance());
|
||||||
|
TextView link3 = (TextView) findViewById(R.id.about6);
|
||||||
|
link3.setMovementMethod(LinkMovementMethod.getInstance());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -297,6 +297,10 @@ public class ControlCenterv2 extends AppCompatActivity
|
|||||||
GB.toast(getBaseContext(), "Error showing Changelog", Toast.LENGTH_LONG, GB.ERROR);
|
GB.toast(getBaseContext(), "Error showing Changelog", Toast.LENGTH_LONG, GB.ERROR);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
case R.id.about:
|
||||||
|
Intent aboutIntent = new Intent(this, AboutActivity.class);
|
||||||
|
startActivity(aboutIntent);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
94
app/src/main/res/layout/activity_about.xml
Normal file
94
app/src/main/res/layout/activity_about.xml
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:paddingLeft="@dimen/activity_horizontal_margin"
|
||||||
|
tools:context="nodomain.freeyourgadget.gadgetbridge.activities.AboutActivity">
|
||||||
|
|
||||||
|
<ScrollView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/about1"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="Gadgetbridge"
|
||||||
|
android:textAppearance="@style/TextAppearance.AppCompat.Large"
|
||||||
|
android:textColor="@color/accent" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/about2"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/about_description" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/about3"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="Links"
|
||||||
|
android:textAppearance="@style/TextAppearance.AppCompat.Large"
|
||||||
|
android:textColor="@color/accent" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/about4"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/homepage_url" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/about5"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/codeberg_url" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/about6"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/fdroid_url" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/about7"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/about_contributors"
|
||||||
|
android:textAppearance="@style/TextAppearance.AppCompat.Large"
|
||||||
|
android:textColor="@color/accent" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/about8"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/about_core_team_title"
|
||||||
|
android:textColor="@color/accent" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/about9"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/about_core_team_members" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/about10"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/about_additional_device_support"
|
||||||
|
android:textColor="@color/accent" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/about11"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/about_additional_contributors" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
</ScrollView>
|
||||||
|
|
||||||
|
</RelativeLayout>
|
@ -36,5 +36,10 @@
|
|||||||
android:id="@+id/external_changelog"
|
android:id="@+id/external_changelog"
|
||||||
android:title="@string/changelog_full_title"
|
android:title="@string/changelog_full_title"
|
||||||
android:icon="@drawable/ic_history_black" />
|
android:icon="@drawable/ic_history_black" />
|
||||||
|
<item
|
||||||
|
android:id="@+id/about"
|
||||||
|
android:title="@string/about_title"
|
||||||
|
android:icon="@drawable/gadgetbridge_img" />
|
||||||
|
|
||||||
</group>
|
</group>
|
||||||
</menu>
|
</menu>
|
||||||
|
@ -865,6 +865,19 @@
|
|||||||
<string name="pref_qhybrid_title_widget_draw_circles">Draw widget circles</string>
|
<string name="pref_qhybrid_title_widget_draw_circles">Draw widget circles</string>
|
||||||
<string name="pref_qhybrid_save_raw_activity_files">Save raw activity files</string>
|
<string name="pref_qhybrid_save_raw_activity_files">Save raw activity files</string>
|
||||||
<string name="hr_widget_last_notification">Last notification</string>
|
<string name="hr_widget_last_notification">Last notification</string>
|
||||||
|
<string name="homepage_url" translatable="false">Homepage: <a href="https://gadgetbridge.org/">https://gadgetbridge.org/</a></string>
|
||||||
|
<string name="codeberg_url" translatable="false">Code: <a href="https://codeberg.org/Freeyourgadget/Gadgetbridge">https://codeberg.org/Freeyourgadget/Gadgetbridge</a></string>
|
||||||
|
<string name="fdroid_url" translatable="false">F-Droid: <a href="https://f-droid.org/packages/nodomain.freeyourgadget.gadgetbridge/">https://f-droid.org/packages/nodomain.freeyourgadget.gadgetbridge/</a></string>
|
||||||
|
|
||||||
|
<string name="about_title">About</string>
|
||||||
|
<string name="about_activity_title">About Gadgetbridge</string>
|
||||||
|
<string name="about_description">A free and cloudless replacement for your gadget vendors\' closed source Android applications.</string>
|
||||||
|
<string name="about_core_team_title">Core Team (in order of first code contribution)</string>
|
||||||
|
<string name="about_contributors">Contributors</string>
|
||||||
|
<string name="about_core_team_members" translatable="false"> Andreas Shimokawa\n Carsten Pfeiffer\n Daniele Gobbetti</string>
|
||||||
|
<string name="about_additional_device_support">Additional device support</string>
|
||||||
|
<string name="about_additional_contributors" translatable="false"> João Paulo Barraca (HPlus)\n Vitaly Svyastyn (NO.1 F1)\n Sami Alaoui (Teclast H30)\n “ladbsoft” (XWatch)\n Sebastian Kranz (ZeTime)\n Vadim Kaushan (ID115)\n “maxirnilian” (Lenovo Watch 9)\n “ksiwczynski”, “mkusnierz”, “mamutcho” (Lenovo Watch X Plus)\n Andreas Böhler (Casio GB-6900B)\n Jean-François Greffier (Mi Scale 2)\n Johannes Schmitt (BFH-16)\n Lukas Schwichtenberg (Makibes HR3)\n Daniel Dakhno (Fossil Q Hybrid, Fossil Hybrid HR)\n Gordon Williams (Bangle.js)\n Pavel Elagin (JYou Y5)\n Taavi Eomäe (iTag)</string>
|
||||||
|
|
||||||
<plurals name="widget_alarm_target_hours">
|
<plurals name="widget_alarm_target_hours">
|
||||||
<item quantity="one">%d hour</item>
|
<item quantity="one">%d hour</item>
|
||||||
<item quantity="two">%d hours</item>
|
<item quantity="two">%d hours</item>
|
||||||
|
Loading…
Reference in New Issue
Block a user