
This was a bit more complex than all the other views, because it supports rotation, and different views for when it is rotated. The end result is that the way in which the views were constructed needed to be completely redone. In the process, I also moved the layout of the app summary to a Relative Layout. This adds more flexibility, and is also the suggested layout for complex views (as apposed to nested linear layouts). I believe this is due to the performance of relative vs linear layotus. It was aprticularly hard to figure out what was going on when rotating an Activity which had a list fragment that had another fragment as a header. I don't think fragments were designed to work like this, but I believe it is all working as expected now. Conflicts: src/org/fdroid/fdroid/Preferences.java
155 lines
5.1 KiB
XML
155 lines
5.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<RelativeLayout
|
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
xmlns:tools="http://schemas.android.com/tools"
|
|
android:layout_width="fill_parent"
|
|
android:layout_height="wrap_content"
|
|
android:paddingTop="4dp"
|
|
android:paddingBottom="8dp"
|
|
android:baselineAligned="false"
|
|
android:orientation="vertical" >
|
|
|
|
<ImageView
|
|
android:id="@+id/icon"
|
|
android:contentDescription="@string/app_icon"
|
|
android:layout_width="56dp"
|
|
android:layout_height="56dp"
|
|
android:padding="4dp"
|
|
android:layout_alignParentLeft="true"
|
|
android:layout_alignParentStart="true"
|
|
android:layout_alignParentTop="true"
|
|
tools:src="@drawable/ic_launcher"
|
|
android:scaleType="fitCenter"
|
|
/>
|
|
|
|
<TextView
|
|
android:id="@+id/status"
|
|
android:layout_width="fill_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_toRightOf="@id/icon"
|
|
android:layout_toEndOf="@id/icon"
|
|
android:layout_alignBottom="@id/icon"
|
|
android:paddingLeft="4dp"
|
|
tools:text="Installed"
|
|
android:textSize="13sp" android:layout_marginBottom="4dp"/>
|
|
|
|
<TextView
|
|
android:id="@+id/title"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:singleLine="false"
|
|
tools:text="F-Droid"
|
|
android:textSize="18sp"
|
|
android:textStyle="bold"
|
|
android:paddingLeft="4dp"
|
|
android:layout_toRightOf="@id/icon"
|
|
android:layout_above="@id/status" />
|
|
|
|
<TextView
|
|
android:id="@+id/categories"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_alignParentRight="true"
|
|
android:layout_alignParentEnd="true"
|
|
android:layout_alignBottom="@id/icon"
|
|
android:paddingLeft="4dp"
|
|
tools:text="System, Internet"
|
|
android:textSize="13sp" android:layout_marginBottom="4dp"/>
|
|
|
|
<TextView
|
|
android:id="@+id/license"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_alignParentRight="true"
|
|
android:layout_alignParentEnd="true"
|
|
android:layout_above="@id/categories"
|
|
android:paddingRight="4dp"
|
|
tools:text="GPLv3+"
|
|
android:textSize="13sp" />
|
|
|
|
<TextView
|
|
android:id="@+id/summary"
|
|
android:layout_width="fill_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_below="@id/icon"
|
|
android:textStyle="bold"
|
|
tools:text="Application manager" />
|
|
|
|
<TextView
|
|
android:id="@+id/appid"
|
|
android:layout_width="fill_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_below="@id/summary"
|
|
android:textSize="12sp"
|
|
tools:text="org.fdroid.fdroid" />
|
|
|
|
<TextView
|
|
android:id="@+id/signature"
|
|
android:layout_width="fill_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_below="@id/appid"
|
|
android:textSize="12sp" />
|
|
|
|
<TextView
|
|
android:id="@+id/antifeatures"
|
|
android:layout_width="fill_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_below="@id/signature"
|
|
android:layout_marginTop="6sp"
|
|
android:textStyle="bold"
|
|
android:textColor="#ff0000"
|
|
tools:text="Feeds you too much chocolate" />
|
|
|
|
<TextView
|
|
android:id="@+id/description"
|
|
android:layout_width="fill_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_below="@id/antifeatures"
|
|
android:layout_marginTop="8sp"
|
|
android:textSize="13sp"
|
|
android:singleLine="false"
|
|
tools:text="Connects to F-Droid compatible repositories. The default repo is hosted at f-droid.org, which contains only bona fide FOSS.
|
|
|
|
Android is open in the sense that you are free to install apks from anywhere you wish, but there are many good reasons for using a client/repository setup:
|
|
|
|
* Be notified when updates are available
|
|
* Keep track of older and beta versions
|
|
* Filter apps that aren't compatible with the device
|
|
* Find apps via categories and searchable descriptions
|
|
* Access associated urls for donations, source code etc.
|
|
* Stay safe by checking repo index signatures and apk hashes
|
|
|
|
Changelog" />
|
|
|
|
<TextView
|
|
android:id="@+id/permissions"
|
|
android:layout_width="fill_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_below="@id/description"
|
|
android:layout_marginTop="8sp"
|
|
android:singleLine="true"
|
|
android:textStyle="bold"
|
|
tools:text="Permissions for version 1.0" />
|
|
|
|
<TextView
|
|
android:id="@+id/permissions_list"
|
|
android:layout_width="fill_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_below="@id/permissions"
|
|
android:textSize="13sp"
|
|
android:singleLine="false"
|
|
tools:text=" * Full network access
|
|
* View network connections
|
|
* View Wi-Fi connections
|
|
* Connect and disconnect from Wi-Fi
|
|
* Pair with Bluetooth devices
|
|
* Run at startup
|
|
* Modify or delete the contents of your USB storage
|
|
* Control Near Field Communication
|
|
* Directly install apps
|
|
* Delete apps
|
|
* Full permission to all device features and storage
|
|
* Test access to protected storage" />
|
|
|
|
</RelativeLayout>
|