along with Privacy Browser. If not, see <http://www.gnu.org/licenses/>. -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.stoutner.privacybrowser" >
+ xmlns:tools="http://schemas.android.com/tools"
+ package="com.stoutner.privacybrowser" >
<!-- Required to load websites. -->
<uses-permission android:name="android.permission.INTERNET" />
android:icon="@mipmap/privacy_browser"
android:theme="@style/PrivacyBrowser"
android:allowBackup="false"
- android:fullBackupContent="false" >
+ android:fullBackupContent="false"
+ android:supportsRtl="true" >
<!-- If `android:name="android.webkit.WebView.MetricsOptOut"` is not `true` then `WebViews` will upload metrics to Google.
https://developer.android.com/reference/android/webkit/WebView.html -->
<!-- `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes, which preserves scroll location in the WebView.
`android:launchMode="singleTask"` makes the app launch in a new task instead of inside the task of the program that sends it an intent.
It also makes it reuse an existing Privacy Browser activity if available instead of launching a new one.
- `android:persistableMode="persistNever"` removes Privacy Browser from the recents screen on a device reboot. -->
+ `android:persistableMode="persistNever"` removes Privacy Browser from the recents screen on a device reboot.
+ `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
<activity
android:name=".MainWebViewActivity"
android:label="@string/privacy_browser"
android:configChanges="orientation|screenSize"
android:launchMode="singleTask"
android:screenOrientation="fullUser"
- android:persistableMode="persistNever" >
+ android:persistableMode="persistNever"
+ tools:ignore="UnusedAttribute" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<!-- `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
- `android:persistableMode="persistNever"` removes Privacy Browser from the recents screen on a device reboot. -->
+ `android:persistableMode="persistNever"` removes Privacy Browser from the recents screen on a device reboot.
+ `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
<activity
android:name=".BookmarksActivity"
android:label="@string/bookmarks"
android:parentActivityName=".MainWebViewActivity"
android:configChanges="orientation|screenSize"
android:screenOrientation="fullUser"
- android:persistableMode="persistNever" />
+ android:persistableMode="persistNever"
+ tools:ignore="UnusedAttribute" />
<!-- `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
- `android:persistableMode="persistNever"` removes Privacy Browser from the recents screen on a device reboot. -->
+ `android:persistableMode="persistNever"` removes Privacy Browser from the recents screen on a device reboot.
+ `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
<activity
android:name=".BookmarksDatabaseViewActivity"
android:label="@string/bookmarks_database_view"
android:parentActivityName=".BookmarksActivity"
android:configChanges="orientation|screenSize"
android:screenOrientation="fullUser"
- android:persistableMode="persistNever" />
+ android:persistableMode="persistNever"
+ tools:ignore="UnusedAttribute" />
<!-- `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
- `android:persistableMode="persistNever"` removes Privacy Browser from the recents screen on a device reboot. -->
+ `android:persistableMode="persistNever"` removes Privacy Browser from the recents screen on a device reboot.
+ `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
<activity
android:name=".SettingsActivity"
android:label="@string/privacy_browser_settings"
android:parentActivityName=".MainWebViewActivity"
android:configChanges="orientation|screenSize"
android:screenOrientation="fullUser"
- android:persistableMode="persistNever" />
+ android:persistableMode="persistNever"
+ tools:ignore="UnusedAttribute" />
<!-- `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
- `android:persistableMode="persistNever"` removes Privacy Browser from the recents screen on a device reboot. -->
+ `android:persistableMode="persistNever"` removes Privacy Browser from the recents screen on a device reboot.
+ `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
<activity
android:name=".GuideActivity"
android:label="@string/privacy_browser_guide"
android:parentActivityName=".MainWebViewActivity"
android:configChanges="orientation|screenSize"
android:screenOrientation="fullUser"
- android:persistableMode="persistNever" />
+ android:persistableMode="persistNever"
+ tools:ignore="UnusedAttribute" />
<!-- `android:configChanges="orientation|screenSize"` makes the activity not reload when the orientation changes.
- `android:persistableMode="persistNever"` removes Privacy Browser from the recents screen on a device reboot. -->
+ `android:persistableMode="persistNever"` removes Privacy Browser from the recents screen on a device reboot.
+ `tools:ignore="unusedAttribute"` removes the lint warning that `persistableMode` does not apply to API < 21. -->
<activity
android:name=".AboutActivity"
android:label="@string/about_privacy_browser"
android:parentActivityName=".MainWebViewActivity"
android:configChanges="orientation|screenSize"
android:screenOrientation="fullUser"
- android:persistableMode="persistNever" />
+ android:persistableMode="persistNever"
+ tools:ignore="UnusedAttribute" />
</application>
</manifest>
Snackbar.make(findViewById(R.id.bookmarks_coordinatorlayout), cannotCreateFolder, Snackbar.LENGTH_INDEFINITE).show();
} else { // Create the folder.
// Get the new folder icon `Bitmap`.
- RadioButton defaultFolderIconRadioButton = (RadioButton) dialogFragment.getDialog().findViewById(R.id.create_folder_default_icon_radiobuttion);
+ RadioButton defaultFolderIconRadioButton = (RadioButton) dialogFragment.getDialog().findViewById(R.id.create_folder_default_icon_radiobutton);
Bitmap folderIconBitmap;
if (defaultFolderIconRadioButton.isChecked()) {
// Get the default folder icon `ImageView` from the `Dialog` and convert it to a `Bitmap`.
contextualActionMode.finish();
}
- @Override
- public void onCancelMoveToFolder(DialogFragment dialogFragment) {
- // Do nothing because the user selected `Cancel`.
- }
-
@Override
public void onMoveToFolder(DialogFragment dialogFragment) {
// Get the new folder database id.
public class BookmarksDatabaseViewActivity extends AppCompatActivity {
// `bookmarksDatabaseHandler` is used in `onCreate()` and `updateBookmarksListView()`.
- BookmarksDatabaseHandler bookmarksDatabaseHandler;
+ private BookmarksDatabaseHandler bookmarksDatabaseHandler;
// `bookmarksListView` is used in `onCreate()` and `updateBookmarksListView()`.
- ListView bookmarksListView;
+ private ListView bookmarksListView;
@Override
public void onCreate(Bundle savedInstanceState) {
import android.net.Uri;
import android.os.Bundle;
// `android.support.v7.app.AlertDialog` uses more of the horizontal screen real estate versus `android.app.AlertDialog's` smaller width.
+import android.support.v4.content.ContextCompat;
import android.support.v7.app.AlertDialog;
import android.view.KeyEvent;
import android.view.LayoutInflater;
fileNameString = downloadUri.getLastPathSegment();
}
- // Convert `contentLength` to MB and store it in `fileSizeString`. `%.3g` displays the three most significant digits.
- String fileSizeString = String.format(Locale.getDefault(), "%.3g", (float) contentLength / 1048576) + " MB";
-
// Store the variables in the `Bundle`.
argumentsBundle.putString("URL", urlString);
argumentsBundle.putString("File_Name", fileNameString);
- argumentsBundle.putString("File_Size", fileSizeString);
+ argumentsBundle.putLong("File_Size", contentLength);
// Add `argumentsBundle` to this instance of `DownloadFile`.
DownloadFile thisDownloadFileDialog = new DownloadFile();
// Store the strings in the local class variables.
downloadUrl = getArguments().getString("URL");
downloadFileName = getArguments().getString("File_Name");
- fileSize = getArguments().getString("File_Size");
+
+ // Get the `File_Size`.
+ long fileSizeLong = getArguments().getLong("File_Size");
+
+ // Convert `fileSizeLong` to a String.
+ if (fileSizeLong == -1) { // We don't know the file size.
+ fileSize = getString(R.string.unknown_size);
+ } else { // Convert `fileSize` to MB and store it in `fileSizeString`. `%.3g` displays the three most significant digits.
+ fileSize = String.format(Locale.getDefault(), "%.3g", (float) fileSizeLong / 1048576) + " MB";
+ }
}
// The public interface is used to send information back to the parent activity.
// It is also used in `onCreate()`, `onOptionsItemSelected()`, `onCreateHomeScreenShortcutCreate()`, and `loadUrlFromTextBox()`.
public static String formattedUrlString;
- // `customHeader` is public static so it can be accessed from `BookmarksActivity`. It is also used in `onCreate()`, `onOptionsItemSelected()`, and `loadUrlFromTextBox()`.
- public static Map<String, String> customHeaders = new HashMap<>();
-
// `sslCertificate` is public static so it can be accessed from `ViewSslCertificate`. It is also used in `onCreate()`.
public static SslCertificate sslCertificate;
// `cookieManager` is used in `onCreate()`, `onOptionsItemSelected()`, and `onNavigationItemSelected()`, and `onRestart()`.
private CookieManager cookieManager;
+ // `customHeader` is used in `onCreate()`, `onOptionsItemSelected()`, and `loadUrlFromTextBox()`.
+ private final Map<String, String> customHeaders = new HashMap<>();
+
// `javaScriptEnabled` is also used in `onCreate()`, `onCreateOptionsMenu()`, `onOptionsItemSelected()`, `loadUrlFromTextBox()`, and `applySettings()`.
// It is `Boolean` instead of `boolean` because `applySettings()` needs to know if it is `null`.
private Boolean javaScriptEnabled;
cookieManager.setAcceptCookie(firstPartyCookiesEnabled);
mainWebView.getSettings().setDomStorageEnabled(domStorageEnabled);
mainWebView.getSettings().setSaveFormData(saveFormDataEnabled);
+ mainWebView.getSettings().setTextZoom(Integer.valueOf(defaultFontSizeString));
// Set third-party cookies status if API >= 21.
if (Build.VERSION.SDK_INT >= 21) {
}
}
- // Apply the settings from `sharedPreferences`.
+ // Apply the other settings from `sharedPreferences`.
homepage = homepageString;
- mainWebView.getSettings().setTextZoom(Integer.valueOf(defaultFontSizeString));
swipeRefreshLayout.setEnabled(swipeToRefreshEnabled);
// Set the user agent initial status.
public class MoveToFolder extends DialogFragment {
// The public interface is used to send information back to the parent activity.
public interface MoveToFolderListener {
- void onCancelMoveToFolder(DialogFragment dialogFragment);
-
void onMoveToFolder(DialogFragment dialogFragment);
}
dialogBuilder.setNegativeButton(R.string.cancel, new Dialog.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
- // Return the `DialogFragment` to the parent activity on cancel.
- moveToFolderListener.onCancelMoveToFolder(MoveToFolder.this);
+ // Do nothing. The `AlertDialog` will close automatically.
}
});
return alertDialog;
}
- public void addSubfoldersToExceptFolders(String folderName) {
+ private void addSubfoldersToExceptFolders(String folderName) {
// Get a `Cursor` will all the immediate subfolders.
Cursor subfoldersCursor = BookmarksActivity.bookmarksDatabaseHandler.getSubfoldersCursor(folderName);
<!-- about.xml comes from the Android Material icon set, where it is called ic_info_outline.
- It is released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. -->
+ It is released under the Apache License 2.0. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:viewportHeight="24.0"
android:viewportWidth="24.0" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#FF000000"
android:pathData="M11,17h2v-6h-2v6zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8zM11,9h2L13,7h-2v2z" />
<!-- add.xml comes from the Android Material icon set, where it is called ic_add.
- It is released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. -->
+ It is released under the Apache License 2.0. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:viewportHeight="24.0"
android:viewportWidth="24.0" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#FFFFFFFF"
android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
<!-- back.xml comes from the Android Material icon set, where it is called ic_arrow_back.
- It is released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. -->
+ It is released under the Apache License 2.0. -->
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true" not applying to API < 21. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
android:height="24dp"
android:width="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0"
- android:autoMirrored="true" >
+ android:autoMirrored="true"
+ tools:ignore="VectorRaster" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#FF000000"
android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z" />
<!-- bookmarks.xml comes from the Android Material icon set, where it is called ic_bookmark_border.
- It is released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. -->
+ It is released under the Apache License 2.0. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:viewportHeight="24.0"
android:viewportWidth="24.0" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#FF000000"
android:pathData="M17,3L7,3c-1.1,0 -1.99,0.9 -1.99,2L5,21l7,-3 7,3L19,5c0,-1.1 -0.9,-2 -2,-2zM17,18l-5,-2.18L7,18L7,5h10v13z"/>
+++ /dev/null
-<!-- cookies_critical.xml was created by Google and downloaded from https://materialdesignicons.com/icon/cookie.
- It is released under the Apache License 2.0. -->
-
-<vector
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:height="26dp"
- android:width="26dp"
- android:viewportHeight="24.0"
- android:viewportWidth="24.0" >
-
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
- <path
- android:fillColor="#FFD50000"
- android:pathData="M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12C21,11.5 20.96,11 20.87,10.5C20.6,10 20,10 20,10H18V9C18,8 17,8 17,8H15V7C15,6 14,6 14,6H13V4C13,3 12,3 12,3M9.5,6A1.5,1.5 0 0,1 11,7.5A1.5,1.5 0 0,1 9.5,9A1.5,1.5 0 0,1 8,7.5A1.5,1.5 0 0,1 9.5,6M6.5,10A1.5,1.5 0 0,1 8,11.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 5,11.5A1.5,1.5 0 0,1 6.5,10M11.5,11A1.5,1.5 0 0,1 13,12.5A1.5,1.5 0 0,1 11.5,14A1.5,1.5 0 0,1 10,12.5A1.5,1.5 0 0,1 11.5,11M16.5,13A1.5,1.5 0 0,1 18,14.5A1.5,1.5 0 0,1 16.5,16H16.5A1.5,1.5 0 0,1 15,14.5H15A1.5,1.5 0 0,1 16.5,13M11,16A1.5,1.5 0 0,1 12.5,17.5A1.5,1.5 0 0,1 11,19A1.5,1.5 0 0,1 9.5,17.5A1.5,1.5 0 0,1 11,16Z" />
-</vector>
\ No newline at end of file
<!-- cookies_disabled.xml was created by Google and downloaded from https://materialdesignicons.com/icon/cookie.
It is released under the Apache License 2.0. -->
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true" not applying to API < 21. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
android:height="26dp"
android:width="26dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0"
- android:autoMirrored="true" >
+ android:autoMirrored="true"
+ tools:ignore="VectorRaster" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#88000000"
android:pathData="M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12C21,11.5 20.96,11 20.87,10.5C20.6,10 20,10 20,10H18V9C18,8 17,8 17,8H15V7C15,6 14,6 14,6H13V4C13,3 12,3 12,3M9.5,6A1.5,1.5 0 0,1 11,7.5A1.5,1.5 0 0,1 9.5,9A1.5,1.5 0 0,1 8,7.5A1.5,1.5 0 0,1 9.5,6M6.5,10A1.5,1.5 0 0,1 8,11.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 5,11.5A1.5,1.5 0 0,1 6.5,10M11.5,11A1.5,1.5 0 0,1 13,12.5A1.5,1.5 0 0,1 11.5,14A1.5,1.5 0 0,1 10,12.5A1.5,1.5 0 0,1 11.5,11M16.5,13A1.5,1.5 0 0,1 18,14.5A1.5,1.5 0 0,1 16.5,16H16.5A1.5,1.5 0 0,1 15,14.5H15A1.5,1.5 0 0,1 16.5,13M11,16A1.5,1.5 0 0,1 12.5,17.5A1.5,1.5 0 0,1 11,19A1.5,1.5 0 0,1 9.5,17.5A1.5,1.5 0 0,1 11,16Z" />
<!-- cookies_enabled.xml was created by Google and downloaded from https://materialdesignicons.com/icon/cookie.
It is released under the Apache License 2.0. -->
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true" not applying to API < 21. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
android:height="24dp"
android:width="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0"
- android:autoMirrored="true" >
+ android:autoMirrored="true"
+ tools:ignore="VectorRaster" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#FFF57F17"
android:pathData="M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12C21,11.5 20.96,11 20.87,10.5C20.6,10 20,10 20,10H18V9C18,8 17,8 17,8H15V7C15,6 14,6 14,6H13V4C13,3 12,3 12,3M9.5,6A1.5,1.5 0 0,1 11,7.5A1.5,1.5 0 0,1 9.5,9A1.5,1.5 0 0,1 8,7.5A1.5,1.5 0 0,1 9.5,6M6.5,10A1.5,1.5 0 0,1 8,11.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 5,11.5A1.5,1.5 0 0,1 6.5,10M11.5,11A1.5,1.5 0 0,1 13,12.5A1.5,1.5 0 0,1 11.5,14A1.5,1.5 0 0,1 10,12.5A1.5,1.5 0 0,1 11.5,11M16.5,13A1.5,1.5 0 0,1 18,14.5A1.5,1.5 0 0,1 16.5,16H16.5A1.5,1.5 0 0,1 15,14.5H15A1.5,1.5 0 0,1 16.5,13M11,16A1.5,1.5 0 0,1 12.5,17.5A1.5,1.5 0 0,1 11,19A1.5,1.5 0 0,1 9.5,17.5A1.5,1.5 0 0,1 11,16Z" />
<!-- create_folder.xml comes from the Android Material icon set, where it is called ic_create_new_folder.
- It is released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. -->
+ It is released under the Apache License 2.0. -->
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true" not applying to API < 21. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
android:height="24dp"
android:width="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0"
- android:autoMirrored="true" >
+ android:autoMirrored="true"
+ tools:ignore="VectorRaster" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#FFFFFFFF"
android:pathData="M20,6h-8l-2,-2L4,4c-1.11,0 -1.99,0.89 -1.99,2L2,18c0,1.11 0.89,2 2,2h16c1.11,0 2,-0.89 2,-2L22,8c0,-1.11 -0.89,-2 -2,-2zM19,14h-3v3h-2v-3h-3v-2h3L14,9h2v3h3v2z"/>
<!-- delete.xml comes from the Android Material icon set, where it is called ic_delete.
- It is released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. -->
+ It is released under the Apache License 2.0. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:viewportHeight="24.0"
android:viewportWidth="24.0" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#FFFFFFFF"
android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z"/>
<!-- dom_storage_disabled.xml comes from the Android Material icon set, where it is called ic_web.
- It is released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. -->
+ It is released under the Apache License 2.0. -->
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true" not applying to API < 21. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
android:height="26dp"
android:width="26dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0"
- android:autoMirrored="true" >
+ android:autoMirrored="true"
+ tools:ignore="VectorRaster" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#88000000"
android:pathData="M20,4L4,4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM15,18L4,18v-4h11v4zM15,13L4,13L4,9h11v4zM20,18h-4L16,9h4v9z"/>
<!-- dom_storage_enabled.xml comes from the Android Material icon set, where it is called ic_web.
- It is released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. -->
+ It is released under the Apache License 2.0. -->
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true" not applying to API < 21. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
android:height="26dp"
android:width="26dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0"
- android:autoMirrored="true" >
+ android:autoMirrored="true"
+ tools:ignore="VectorRaster" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#FFF57F17"
android:pathData="M20,4L4,4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM15,18L4,18v-4h11v4zM15,13L4,13L4,9h11v4zM20,18h-4L16,9h4v9z"/>
<!-- dom_storage_ghosted.xml comes from the Android Material icon set, where it is called ic_web.
- It is released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. -->
+ It is released under the Apache License 2.0. -->
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true" not applying to API < 21. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
android:height="26dp"
android:width="26dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0"
- android:autoMirrored="true" >
+ android:autoMirrored="true"
+ tools:ignore="VectorRaster">
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#44000000"
android:pathData="M20,4L4,4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM15,18L4,18v-4h11v4zM15,13L4,13L4,9h11v4zM20,18h-4L16,9h4v9z"/>
<!-- downloads.xml comes from the Android Material icon set, where it is called ic_file_download.
- It is released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. -->
+ It is released under the Apache License 2.0. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:viewportHeight="24.0"
android:viewportWidth="24.0" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#FF000000"
android:pathData="M19,9h-4V3H9v6H5l7,7 7,-7zM5,18v2h14v-2H5z" />
<!-- edit.xml comes from the Android Material icon set, where it is called ic_edit.
- It is released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. -->
+ It is released under the Apache License 2.0. -->
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true" not applying to API < 21. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
android:height="24dp"
android:width="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0"
- android:autoMirrored="true" >
+ android:autoMirrored="true"
+ tools:ignore="VectorRaster" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#FFFFFFFF"
android:pathData="M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z"/>
<!-- exit.xml comes from the Android Material icon set, where it is called ic_exit_to_app.
- It is released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. -->
+ It is released under the Apache License 2.0. -->
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true" not applying to API < 21. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
android:height="24dp"
android:width="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0"
- android:autoMirrored="true" >
+ android:autoMirrored="true"
+ tools:ignore="VectorRaster" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#FF000000"
android:pathData="M10.09,15.59L11.5,17l5,-5 -5,-5 -1.41,1.41L12.67,11H3v2h9.67l-2.58,2.59zM19,3H5c-1.11,0 -2,0.9 -2,2v4h2V5h14v14H5v-4H3v4c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2V5c0,-1.1 -0.9,-2 -2,-2z" />
<!-- folder_dark_blue.xml.xml comes from the Android Material icon set, where it is called ic_folder.
- It is released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. -->
+ It is released under the Apache License 2.0. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:viewportHeight="24.0"
android:viewportWidth="24.0" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#FF0D47A1"
android:pathData="M10,4H4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2V8c0,-1.1 -0.9,-2 -2,-2h-8l-2,-2z"/>
<!-- folder_grey.xml comes from the Android Material icon set, where it is called ic_folder.
- It is released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. -->
+ It is released under the Apache License 2.0. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:viewportHeight="24.0"
android:viewportWidth="24.0" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#FF9E9E9E"
android:pathData="M10,4H4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2V8c0,-1.1 -0.9,-2 -2,-2h-8l-2,-2z"/>
<!-- form_data_disabled.xml comes from the Android Material icon set, where it is called ic_subtitles.
- It is released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. -->
+ It is released under the Apache License 2.0. -->
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true" not applying to API < 21. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
android:height="26dp"
android:width="26dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0"
- android:autoMirrored="true" >
+ android:autoMirrored="true"
+ tools:ignore="VectorRaster">
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#88000000"
android:pathData="M20,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM4,12h4v2L4,14v-2zM14,18L4,18v-2h10v2zM20,18h-4v-2h4v2zM20,14L10,14v-2h10v2z"/>
<!-- form_data_enabled.xml comes from the Android Material icon set, where it is called ic_subtitles.
- It is released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. -->
+ It is released under the Apache License 2.0. -->
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true" not applying to API < 21. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
android:height="26dp"
android:width="26dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0"
- android:autoMirrored="true" >
+ android:autoMirrored="true"
+ tools:ignore="VectorRaster">
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#FFF57F17"
android:pathData="M20,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM4,12h4v2L4,14v-2zM14,18L4,18v-2h10v2zM20,18h-4v-2h4v2zM20,14L10,14v-2h10v2z"/>
<!-- forward.xml comes from the Android Material icon set, where it is called ic_arrow_forward.
- It is released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. -->
+ It is released under the Apache License 2.0. -->
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true" not applying to API < 21. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
android:height="24dp"
android:width="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0"
- android:autoMirrored="true" >
+ android:autoMirrored="true"
+ tools:ignore="VectorRaster" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#FF000000"
android:pathData="M12,4l-1.41,1.41L16.17,11H4v2h12.17l-5.58,5.59L12,20l8,-8z" />
<!-- guide.xml comes from the Android Material icon set, where it is called ic_import_contacts.
- It is released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. -->
+ It is released under the Apache License 2.0. -->
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true" not applying to API < 21. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
- android:autoMirrored="true"
+ xmlns:tools="http://schemas.android.com/tools"
android:height="24dp"
android:width="24dp"
android:viewportHeight="24.0"
- android:viewportWidth="24.0" >
+ android:viewportWidth="24.0"
+ android:autoMirrored="true"
+ tools:ignore="VectorRaster" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#FF000000"
android:pathData="M21,5c-1.11,-0.35 -2.33,-0.5 -3.5,-0.5 -1.95,0 -4.05,0.4 -5.5,1.5 -1.45,-1.1 -3.55,-1.5 -5.5,-1.5S2.45,4.9 1,6v14.65c0,0.25 0.25,0.5 0.5,0.5 0.1,0 0.15,-0.05 0.25,-0.05C3.1,20.45 5.05,20 6.5,20c1.95,0 4.05,0.4 5.5,1.5 1.35,-0.85 3.8,-1.5 5.5,-1.5 1.65,0 3.35,0.3 4.75,1.05 0.1,0.05 0.15,0.05 0.25,0.05 0.25,0 0.5,-0.25 0.5,-0.5L23,6c-0.6,-0.45 -1.25,-0.75 -2,-1zM21,18.5c-1.1,-0.35 -2.3,-0.5 -3.5,-0.5 -1.7,0 -4.15,0.65 -5.5,1.5L12,8c1.35,-0.85 3.8,-1.5 5.5,-1.5 1.2,0 2.4,0.15 3.5,0.5v11.5z" />
<!-- home.xml comes from the Android Material icon set, where it is called ic_home.
- It is released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. -->
+ It is released under the Apache License 2.0. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:viewportHeight="24.0"
android:viewportWidth="24.0" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#FF000000"
android:pathData="M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z" />
<!-- javascript_enabled.xml is derived from ic_security and ic_language, which are part of the Android Material icon set.
- They are released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. Modifications were made by Soren Stoutner <soren@stoutner.com> in 2016. -->
+ They are released under the Apache License 2.0. Modifications were made by Soren Stoutner <soren@stoutner.com> in 2016
+ and are released under the GPLv3+ license. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:viewportHeight="256.0"
android:viewportWidth="256.0" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillAlpha="1"
android:fillColor="#b71c1c"
- android:pathData="m128,12.8 l-94.25,41.89 0,62.84c0,58.12 40.22,112.48 94.25,125.67 54.04,-13.2 94.25,-67.55 94.25,-125.67l0,-62.84z" android:strokeColor="#00000000" />
+ android:pathData="m128,12.8 l-94.25,41.89 0,62.84c0,58.12 40.22,112.48 94.25,125.67 54.04,-13.2 94.25,-67.55 94.25,-125.67l0,-62.84z"
+ android:strokeColor="#00000000" />
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillAlpha="1"
android:fillColor="#d32f2f"
- android:pathData="m128,0 l-104.73,46.55 0,69.82C23.27,180.95 67.96,241.34 128,256 188.04,241.34 232.73,180.95 232.73,116.36l0,-69.82L128,0ZM128,127.88 L209.45,127.88C203.29,175.83 171.29,218.53 128,231.91l0,-103.91 -81.45,0 0,-66.33L128,25.48l0,102.4z" android:strokeColor="#00000000" />
+ android:pathData="m128,0 l-104.73,46.55 0,69.82C23.27,180.95 67.96,241.34 128,256 188.04,241.34 232.73,180.95 232.73,116.36l0,-69.82L128,0ZM128,127.88 L209.45,127.88C203.29,175.83 171.29,218.53 128,231.91l0,-103.91 -81.45,0 0,-66.33L128,25.48l0,102.4z"
+ android:strokeColor="#00000000" />
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillAlpha="1"
android:fillColor="#ffffff"
<!-- move_bookmark_down_disabled.xml comes from the Android Material icon set, where it is called ic_vertical_align_bottom.
- It is released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. -->
+ It is released under the Apache License 2.0. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:viewportHeight="24.0"
android:viewportWidth="24.0" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#FFBBDEFB"
android:pathData="M16,13h-3V3h-2v10H8l4,4 4,-4zM4,19v2h16v-2H4z"/>
<!-- move_bookmark_down_enabled.xml comes from the Android Material icon set, where it is called ic_vertical_align_bottom.
- It is released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. -->
+ It is released under the Apache License 2.0. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:viewportHeight="24.0"
android:viewportWidth="24.0" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#FFFFFFFF"
android:pathData="M16,13h-3V3h-2v10H8l4,4 4,-4zM4,19v2h16v-2H4z"/>
<!-- move_bookmark_up_disabled.xml comes from the Android Material icon set, where it is called ic_vertical_align_top.
- It is released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. -->
+ It is released under the Apache License 2.0. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:viewportHeight="24.0"
android:viewportWidth="24.0" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#FFBBDEFB"
android:pathData="M8,11h3v10h2V11h3l-4,-4 -4,4zM4,3v2h16V3H4z"/>
<!-- move_bookmark_up_enabled.xml comes from the Android Material icon set, where it is called ic_vertical_align_top.
- It is released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. -->
+ It is released under the Apache License 2.0. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:viewportHeight="24.0"
android:viewportWidth="24.0" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#FFFFFFFF"
android:pathData="M8,11h3v10h2V11h3l-4,-4 -4,4zM4,3v2h16V3H4z"/>
<!-- move_to_folder.xml comes from the Android Material icon set, where it is called ic_folder_special.
- It is released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. -->
+ It is released under the Apache License 2.0. -->
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true" not applying to API < 21. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
- android:autoMirrored="true"
+ xmlns:tools="http://schemas.android.com/tools"
android:height="24dp"
android:width="24dp"
android:viewportHeight="24.0"
- android:viewportWidth="24.0" >
+ android:viewportWidth="24.0"
+ android:autoMirrored="true"
+ tools:ignore="VectorRaster" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#FFFFFFFF"
android:pathData="M20,6h-8l-2,-2L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,8c0,-1.1 -0.9,-2 -2,-2zM17.94,17L15,15.28 12.06,17l0.78,-3.33 -2.59,-2.24 3.41,-0.29L15,8l1.34,3.14 3.41,0.29 -2.59,2.24 0.78,3.33z"/>
<!-- privacy_mode.xml is derived from ic_security and ic_language, which are part of the Android Material icon set.
- They are released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. Modifications were made by Soren Stoutner <soren@stoutner.com> in 2016. -->
+ They are released under the Apache License 2.0. Modifications were made by Soren Stoutner <soren@stoutner.com> in 2016.
+ and are released under the GPLv3+ license. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:viewportHeight="256.0"
android:viewportWidth="256.0" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillAlpha="1"
android:fillColor="#0d4781"
- android:pathData="m128,12.8 l-94.25,41.89 0,62.84c0,58.12 40.22,112.48 94.25,125.67 54.04,-13.2 94.25,-67.55 94.25,-125.67l0,-62.84z" android:strokeColor="#00000000" />
+ android:pathData="m128,12.8 l-94.25,41.89 0,62.84c0,58.12 40.22,112.48 94.25,125.67 54.04,-13.2 94.25,-67.55 94.25,-125.67l0,-62.84z"
+ android:strokeColor="#00000000" />
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillAlpha="1"
android:fillColor="#1976d2"
- android:pathData="m128,0 l-104.73,46.55 0,69.82C23.27,180.95 67.96,241.34 128,256 188.04,241.34 232.73,180.95 232.73,116.36l0,-69.82L128,0ZM128,127.88 L209.45,127.88C203.29,175.83 171.29,218.53 128,231.91l0,-103.91 -81.45,0 0,-66.33L128,25.48l0,102.4z" android:strokeColor="#00000000" />
+ android:pathData="m128,0 l-104.73,46.55 0,69.82C23.27,180.95 67.96,241.34 128,256 188.04,241.34 232.73,180.95 232.73,116.36l0,-69.82L128,0ZM128,127.88 L209.45,127.88C203.29,175.83 171.29,218.53 128,231.91l0,-103.91 -81.45,0 0,-66.33L128,25.48l0,102.4z"
+ android:strokeColor="#00000000" />
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillAlpha="1"
android:fillColor="#ffffff"
<!-- select_all.xml comes from the Android Material icon set, where it is called ic_select_all.
- It is released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. -->
+ It is released under the Apache License 2.0. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:viewportHeight="24.0"
android:viewportWidth="24.0" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#FFFFFFFF"
android:pathData="M3,5h2L5,3c-1.1,0 -2,0.9 -2,2zM3,13h2v-2L3,11v2zM7,21h2v-2L7,19v2zM3,9h2L5,7L3,7v2zM13,3h-2v2h2L13,3zM19,3v2h2c0,-1.1 -0.9,-2 -2,-2zM5,21v-2L3,19c0,1.1 0.9,2 2,2zM3,17h2v-2L3,15v2zM9,3L7,3v2h2L9,3zM11,21h2v-2h-2v2zM19,13h2v-2h-2v2zM19,21c1.1,0 2,-0.9 2,-2h-2v2zM19,9h2L21,7h-2v2zM19,17h2v-2h-2v2zM15,21h2v-2h-2v2zM15,5h2L17,3h-2v2zM7,17h10L17,7L7,7v10zM9,9h6v6L9,15L9,9z"/>
<!-- settings.xml comes from the Android Material icon set, where it is called ic_settings.
- It is released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. -->
+ It is released under the Apache License 2.0. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:viewportHeight="24.0"
android:viewportWidth="24.0" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillColor="#FF000000"
android:pathData="M19.43,12.98c0.04,-0.32 0.07,-0.64 0.07,-0.98s-0.03,-0.66 -0.07,-0.98l2.11,-1.65c0.19,-0.15 0.24,-0.42 0.12,-0.64l-2,-3.46c-0.12,-0.22 -0.39,-0.3 -0.61,-0.22l-2.49,1c-0.52,-0.4 -1.08,-0.73 -1.69,-0.98l-0.38,-2.65C14.46,2.18 14.25,2 14,2h-4c-0.25,0 -0.46,0.18 -0.49,0.42l-0.38,2.65c-0.61,0.25 -1.17,0.59 -1.69,0.98l-2.49,-1c-0.23,-0.09 -0.49,0 -0.61,0.22l-2,3.46c-0.13,0.22 -0.07,0.49 0.12,0.64l2.11,1.65c-0.04,0.32 -0.07,0.65 -0.07,0.98s0.03,0.66 0.07,0.98l-2.11,1.65c-0.19,0.15 -0.24,0.42 -0.12,0.64l2,3.46c0.12,0.22 0.39,0.3 0.61,0.22l2.49,-1c0.52,0.4 1.08,0.73 1.69,0.98l0.38,2.65c0.03,0.24 0.24,0.42 0.49,0.42h4c0.25,0 0.46,-0.18 0.49,-0.42l0.38,-2.65c0.61,-0.25 1.17,-0.59 1.69,-0.98l2.49,1c0.23,0.09 0.49,0 0.61,-0.22l2,-3.46c0.12,-0.22 0.07,-0.49 -0.12,-0.64l-2.11,-1.65zM12,15.5c-1.93,0 -3.5,-1.57 -3.5,-3.5s1.57,-3.5 3.5,-3.5 3.5,1.57 3.5,3.5 -1.57,3.5 -3.5,3.5z" />
<!-- warning.xml is derived from ic_security and ic_language, which are part of the Android Material icon set.
- They are released under the CC-BY license <https://creativecommons.org/licenses/by/4.0/>. Modifications were made by Soren Stoutner <soren@stoutner.com> in 2016. -->
+ They are released under the Apache License 2.0. Modifications were made by Soren Stoutner <soren@stoutner.com> in 2016.
+ and are released under the GPLv3+ license. -->
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:viewportHeight="256.0"
android:viewportWidth="256.0" >
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillAlpha="1"
android:fillColor="#f57f17"
- android:pathData="m128,12.8 l-94.25,41.89 0,62.84c0,58.12 40.22,112.48 94.25,125.67 54.04,-13.2 94.25,-67.55 94.25,-125.67l0,-62.84z" android:strokeColor="#00000000" />
+ android:pathData="m128,12.8 l-94.25,41.89 0,62.84c0,58.12 40.22,112.48 94.25,125.67 54.04,-13.2 94.25,-67.55 94.25,-125.67l0,-62.84z"
+ android:strokeColor="#00000000" />
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillAlpha="1"
android:fillColor="#fbc02d"
- android:pathData="m128,0 l-104.73,46.55 0,69.82C23.27,180.95 67.96,241.34 128,256 188.04,241.34 232.73,180.95 232.73,116.36l0,-69.82L128,0ZM128,127.88 L209.45,127.88C203.29,175.83 171.29,218.53 128,231.91l0,-103.91 -81.45,0 0,-66.33L128,25.48l0,102.4z" android:strokeColor="#00000000" />
+ android:pathData="m128,0 l-104.73,46.55 0,69.82C23.27,180.95 67.96,241.34 128,256 188.04,241.34 232.73,180.95 232.73,116.36l0,-69.82L128,0ZM128,127.88 L209.45,127.88C203.29,175.83 171.29,218.53 128,231.91l0,-103.91 -81.45,0 0,-66.33L128,25.48l0,102.4z"
+ android:strokeColor="#00000000" />
- <!-- We have to use a hard coded color code until API >= 21. Then we can use`@color`. -->
+ <!-- We have to use a hard coded color code until API >= 21. Then we can use `@color`. -->
<path
android:fillAlpha="1"
android:fillColor="#ffffff"
android:layout_width="wrap_content"
android:textColor="@color/black"
android:textSize="22sp"
- android:singleLine="true" />
+ android:maxLines="1" />
</LinearLayout>
<!-- Second row. -->
android:textColor="@color/black"
android:textSize="22sp"
android:textStyle="italic"
- android:singleLine="true" />
+ android:maxLines="1" />
</LinearLayout>
<!-- Third row. -->
android:layout_marginEnd="10dp"
android:textColor="@color/black"
android:textSize="22sp"
- android:singleLine="true" />
+ android:maxLines="1" />
</LinearLayout>
\ No newline at end of file
android:textColor="@color/black"
android:textSize="22sp"
android:layout_margin="10dp"
- android:singleLine="true" />
+ android:maxLines="1" />
</LinearLayout>
\ No newline at end of file
android:id="@+id/create_folder_radiogroup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:checkedButton="@+id/create_folder_default_icon_radiobuttion">
+ android:checkedButton="@+id/create_folder_default_icon_radiobutton">
<RadioButton
- android:id="@id/create_folder_default_icon_radiobuttion"
+ android:id="@id/create_folder_default_icon_radiobutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:textSize="18sp" />
<RadioButton
- android:id="@+id/create_folder_web_page_icon_radiobuttion"
+ android:id="@+id/create_folder_web_page_icon_radiobutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/web_page_favorite_icon"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_margin="10dp"
- android:singleLine="true"
+ android:maxLines="1"
android:textColor="@color/black"
android:textSize="22sp" />
</LinearLayout>
\ No newline at end of file
<!-- FrameLayout lets the ProgressBar float on top of `urlTextBox`. -->
<FrameLayout
+ xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/addressBarFrameLayout"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
</RelativeLayout>
<!-- android:max changes the maximum ProgressBar value from 10000 to 100 to match progress percentage.
- android:layout_height="2dp" works best for API 23 "Marshmallow", but "3dp" is required for visibility on API <= 22. -->
+ android:layout_height="2dp" works best for API 23 "Marshmallow", but "3dp" is required for visibility on API <= 22.
+ `tools:ignore="UnusedAttribute"` removes the lint waring about `progressTint` and `progressBackgroundTint`
+ not applying to API < 21.-->
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleHorizontal"
android:max="100"
android:progressTint="@color/blue_700"
android:progressBackgroundTint="@color/white"
- android:visibility="gone" />
+ android:visibility="gone"
+ tools:ignore="UnusedAttribute" />
</FrameLayout>
\ No newline at end of file
<string name="android_asset_path">de</string> <!-- For translations, this should be the localization abbreviation. For example, German is `de`. -->
<!-- MainWebViewActivity. -->
- <string name="download_started">Download gestartet</string>
<string name="privacy_mode">Privatsphäre-Modus</string>
<string name="javascript_enabled">JavaScript aktiviert</string>
<string name="javascript_disabled">JavaScript deaktiviert</string>
<string name="dom_storage_deleted">DOM-Speicher gelöscht</string>
<string name="open_navigation">Navigationspanel öffnen</string>
<string name="close_navigation">Navigationspanel schließen</string>
+
+ <!-- Save As. -->
<string name="save_as">Speichern unter</string>
<string name="file_name">Dateiname</string>
<string name="download">Download</string>
<string name="android_asset_path">en</string> <!-- For translations, this should be the localization abbreviation. For example, German is `de`. -->
<!-- MainWebViewActivity. -->
- <string name="download_started">Download started</string>
<string name="privacy_mode">Privacy Mode</string>
<string name="javascript_enabled">JavaScript enabled</string>
<string name="javascript_disabled">JavaScript disabled</string>
<string name="dom_storage_deleted">DOM Storage deleted</string>
<string name="open_navigation">Open Navigation Drawer</string>
<string name="close_navigation">Close Navigation Drawer</string>
+
+ <!-- Save As. -->
<string name="save_as">Save as</string>
<string name="file_name">File name</string>
+ <string name="unknown_size">unknown size</string>
<string name="download">Download</string>
<!-- Custom App Bar. -->