Compare commits
22 Commits
i2p-androi
...
i2p-androi
Author | SHA1 | Date | |
---|---|---|---|
![]() |
ddddaddb21 | ||
![]() |
d94bfe7cb9 | ||
![]() |
c433e6f194 | ||
![]() |
fffa14ad0f | ||
![]() |
15f5b76802 | ||
![]() |
030b1eba03 | ||
![]() |
29bf07fe6d | ||
![]() |
0e1fc12150 | ||
![]() |
699be817d5 | ||
![]() |
94c9762e83 | ||
![]() |
50f34148c0 | ||
![]() |
f2d8ae73d1 | ||
![]() |
f2b8b0950a | ||
![]() |
fa668711bf | ||
![]() |
f06e0e1ca8 | ||
![]() |
d25aa29fee | ||
![]() |
48d9afea41 | ||
![]() |
da4ed503c8 | ||
![]() |
78a0a2b5f4 | ||
![]() |
42202cc4d2 | ||
![]() |
49f4562bf7 | ||
![]() |
ca6031ab47 |
22
.github/workflows/github-sync.yml
vendored
22
.github/workflows/github-sync.yml
vendored
@@ -1,22 +0,0 @@
|
||||
# File: .github/workflows/github-sync.yml for i2p-hackers/i2p.android.base
|
||||
on:
|
||||
schedule:
|
||||
- cron: "*/5 * * * *"
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
repo-sync:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: repo-sync
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
uses: repo-sync/github-sync@v2
|
||||
with:
|
||||
source_repo: "https://i2pgit.org/i2p-hackers/i2p.android.base"
|
||||
source_branch: "master"
|
||||
destination_branch: "master"
|
||||
github_token: ${{ secrets.PAT }}
|
66
.github/workflows/sync.yaml
vendored
Normal file
66
.github/workflows/sync.yaml
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
# GitHub Actions workflow file to sync an external repository to this GitHub mirror.
|
||||
# This file was automatically generated by go-github-sync.
|
||||
#
|
||||
# The workflow does the following:
|
||||
# - Runs on a scheduled basis (and can also be triggered manually)
|
||||
# - Clones the GitHub mirror repository
|
||||
# - Fetches changes from the primary external repository
|
||||
# - Applies those changes to the mirror repository
|
||||
# - Pushes the updated content back to the GitHub mirror
|
||||
#
|
||||
# Authentication is handled by the GITHUB_TOKEN secret provided by GitHub Actions.
|
||||
|
||||
jobs:
|
||||
sync:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Validate Github Actions Environment
|
||||
run: if [ "$GITHUB_ACTIONS" != "true" ]; then echo 'This script must be run in a GitHub Actions environment.'; exit 1; fi
|
||||
- name: Checkout GitHub Mirror
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Configure Git
|
||||
run: |-
|
||||
git config user.name 'GitHub Actions'
|
||||
git config user.email 'actions@github.com'
|
||||
- env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
name: Sync Primary Repository
|
||||
run: |-
|
||||
# Add the primary repository as a remote
|
||||
git remote add primary https://i2pgit.org/I2P_Developers/i2p.android.base.git
|
||||
|
||||
# Fetch the latest changes from the primary repository
|
||||
git fetch primary
|
||||
|
||||
# Check if the primary branch exists in the primary repository
|
||||
if git ls-remote --heads primary master | grep -q master; then
|
||||
echo "Primary branch master found in primary repository"
|
||||
else
|
||||
echo "Error: Primary branch master not found in primary repository"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if we're already on the mirror branch
|
||||
if git rev-parse --verify --quiet master; then
|
||||
git checkout master
|
||||
else
|
||||
# Create the mirror branch if it doesn't exist
|
||||
git checkout -b master
|
||||
fi
|
||||
|
||||
|
||||
# Force-apply all changes from primary, overriding any conflicts
|
||||
echo "Performing force sync from primary/master to master"
|
||||
git reset --hard primary/master
|
||||
|
||||
|
||||
# Push changes back to the mirror repository
|
||||
git push origin master
|
||||
name: Sync Primary Repository to GitHub Mirror
|
||||
"on":
|
||||
push: {}
|
||||
schedule:
|
||||
- cron: 0 0 * * *
|
||||
workflow_dispatch: {}
|
21
CHANGELOG
21
CHANGELOG
@@ -1,3 +1,24 @@
|
||||
2.9.0
|
||||
* Update I2P Library
|
||||
|
||||
2.8.0
|
||||
* Update I2P Library
|
||||
* Migrate to AndroidX
|
||||
* Migrate to MagicIndicator
|
||||
|
||||
2.7.1
|
||||
* Update I2P Library
|
||||
* Roll back ViewPageIndicator version, fixes crash, causes other issues
|
||||
|
||||
2.7.0
|
||||
* Update I2P Library
|
||||
|
||||
2.6.0
|
||||
* Update I2P Library
|
||||
|
||||
2.5.0
|
||||
* Update I2P Library
|
||||
|
||||
2.4.0
|
||||
* Update I2P Library
|
||||
|
||||
|
28
LICENSE.txt
28
LICENSE.txt
@@ -43,8 +43,34 @@ License for the Android App:
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
See the file licenses/LICENSE-Apache2.0.txt
|
||||
|
||||
===================================
|
||||
|
||||
License for the MagicIndicator library:
|
||||
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2016 hackware1993
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
===================================
|
||||
|
||||
|
||||
See the file licenses/LICENSE-Apache2.0.txt
|
||||
|
@@ -9,6 +9,9 @@ repositories {
|
||||
android {
|
||||
namespace 'net.i2p.android.router'
|
||||
compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION as String)
|
||||
buildFeatures {
|
||||
viewBinding true
|
||||
}
|
||||
defaultConfig {
|
||||
versionCode Integer.parseInt(project.I2P_ANDROID_VERSION_CODE as String)
|
||||
versionName "$I2P_ANDROID_VERSION"
|
||||
@@ -66,10 +69,10 @@ android {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation "androidx.appcompat:appcompat:1.5.1"
|
||||
implementation "androidx.preference:preference:1.2.0"
|
||||
implementation "androidx.annotation:annotation:1.5.0"
|
||||
implementation 'androidx.recyclerview:recyclerview:1.0.0'
|
||||
implementation "androidx.appcompat:appcompat:1.7.1"
|
||||
implementation "androidx.preference:preference:1.2.1"
|
||||
implementation "androidx.annotation:annotation:1.9.1"
|
||||
implementation 'androidx.recyclerview:recyclerview:1.4.0'
|
||||
// Local dependencies
|
||||
implementation project(':lib:client')
|
||||
implementation project(':lib:helper')
|
||||
@@ -143,7 +146,7 @@ if (propFile.canRead()) {
|
||||
}
|
||||
|
||||
task certificatesZip(type: Zip) {
|
||||
archiveName = 'certificates_zip'
|
||||
archiveBaseName = 'certificates_zip'
|
||||
from files('' + i2pbase + '/installer/resources/certificates')
|
||||
}
|
||||
task copyI2PResources(type: Copy) {
|
||||
|
2
app/proguard-rules.pro
vendored
2
app/proguard-rules.pro
vendored
@@ -27,3 +27,5 @@
|
||||
-keep class !android.support.v7.view.menu.**,** {*;}
|
||||
-dontwarn **
|
||||
-dontnote **
|
||||
|
||||
-keep class net.i2p.android.client.util.SummaryEditTextPreference { *; }
|
@@ -1,11 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="net.i2p.android.router"
|
||||
android:installLocation="auto"
|
||||
android:sharedUserId="net.i2p">
|
||||
|
||||
<uses-sdk xmlns:tools="http://schemas.android.com/tools"
|
||||
tools:overrideLibrary="android.support.v14.preference" />
|
||||
tools:overrideLibrary="androidx.preference" />
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
|
@@ -1,11 +1,9 @@
|
||||
package net.i2p.android;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.pm.ActivityInfo;
|
||||
import android.os.Bundle;
|
||||
//import android.support.v4.app.Fragment;
|
||||
import androidx.fragment.app.Fragment;
|
||||
@@ -59,7 +57,6 @@ public class I2PActivity extends I2PActivityBase implements
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
|
||||
setContentView(R.layout.activity_viewpager);
|
||||
|
||||
Toolbar toolbar = (Toolbar) findViewById(R.id.main_toolbar);
|
||||
|
@@ -8,8 +8,6 @@ import androidx.core.util.Pair;
|
||||
import androidx.core.view.ViewCompat;
|
||||
//import android.support.v7.widget.RecyclerView;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import android.util.Log;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@@ -75,7 +73,6 @@ public class TunnelEntryAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo
|
||||
|
||||
public void setTunnels(List<TunnelEntry> tunnels) {
|
||||
mTunnels = tunnels;
|
||||
Log.d("TunnelEntryAdapter", "setTunnels: size=" + (tunnels != null ? tunnels.size() : "null"));
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
@@ -151,8 +148,6 @@ public class TunnelEntryAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo
|
||||
// Replace the contents of a view (invoked by the layout manager)
|
||||
@Override
|
||||
public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
|
||||
Log.d("TunnelEntryAdapter", "onBindViewHolder: position=" + position +
|
||||
" viewType=" + holder.getItemViewType());
|
||||
switch (holder.getItemViewType()) {
|
||||
case R.string.router_not_running:
|
||||
((TextView) holder.itemView).setText(
|
||||
@@ -230,11 +225,9 @@ public class TunnelEntryAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo
|
||||
// Return the size of the dataset (invoked by the layout manager)
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
if (mTunnels == null || mTunnels.isEmpty()) {
|
||||
Log.d("TunnelEntryAdapter", "getItemCount: returning 1 for empty/null state");
|
||||
if (mTunnels == null || mTunnels.isEmpty())
|
||||
return 1;
|
||||
}
|
||||
Log.d("TunnelEntryAdapter", "getItemCount: returning " + mTunnels.size());
|
||||
|
||||
return mTunnels.size();
|
||||
}
|
||||
}
|
||||
|
@@ -120,10 +120,9 @@ public class TunnelListFragment extends Fragment implements
|
||||
@Override
|
||||
public void onActivityCreated(Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
//mClientTunnels = getArguments().getBoolean(SHOW_CLIENT_TUNNELS);
|
||||
mClientTunnels = true;
|
||||
mClientTunnels = getArguments().getBoolean(SHOW_CLIENT_TUNNELS);
|
||||
|
||||
//mRecyclerView.setHasFixedSize(true);
|
||||
mRecyclerView.setHasFixedSize(true);
|
||||
mRecyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL_LIST));
|
||||
|
||||
// use a linear layout manager
|
||||
|
@@ -107,10 +107,6 @@ public class TunnelsContainer extends Fragment implements
|
||||
mNewTunnel = v.findViewById(R.id.promoted_action);
|
||||
mNewTunnel.setVisibility(showActions() ? View.VISIBLE : View.GONE);
|
||||
|
||||
// Initialize ViewPager adapter
|
||||
mFragPagerAdapter = new TunnelsPagerAdapter(getChildFragmentManager());
|
||||
mViewPager.setAdapter(mFragPagerAdapter);
|
||||
|
||||
if (v.findViewById(R.id.detail_fragment) != null) {
|
||||
mTwoPane = true;
|
||||
}
|
||||
@@ -122,8 +118,6 @@ public class TunnelsContainer extends Fragment implements
|
||||
savedInstanceState, FRAGMENT_SERVER);
|
||||
}
|
||||
|
||||
setupMagicIndicator();
|
||||
|
||||
return v;
|
||||
}
|
||||
|
||||
@@ -134,10 +128,6 @@ public class TunnelsContainer extends Fragment implements
|
||||
// Initialize ViewPager and adapter
|
||||
mFragPagerAdapter = new TunnelsPagerAdapter(getChildFragmentManager());
|
||||
mViewPager.setAdapter(mFragPagerAdapter);
|
||||
// Make sure the ViewPager has proper height
|
||||
/*mViewPager.setLayoutParams(new ViewGroup.LayoutParams(
|
||||
ViewGroup.LayoutParams.MATCH_PARENT,
|
||||
ViewGroup.LayoutParams.MATCH_PARENT));*/
|
||||
|
||||
setupMagicIndicator();
|
||||
|
||||
@@ -305,19 +295,19 @@ public class TunnelsContainer extends Fragment implements
|
||||
.replace(R.id.detail_fragment, detailFrag)
|
||||
.commitNow(); // Use commitNow() to execute synchronously
|
||||
} catch (Exception e) {
|
||||
// This exception might occur if the fragment transaction fails due to an invalid state.
|
||||
// It is handled by logging the error to help with debugging.
|
||||
Log.e("TunnelsContainer", "Failed to update detail fragment", e);
|
||||
}
|
||||
} else {
|
||||
// In single-pane mode, simply start the detail activity
|
||||
// for the selected item ID.
|
||||
Intent detailIntent = new Intent(getActivity(), TunnelDetailActivity.class);
|
||||
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(), pairs);
|
||||
detailIntent.putExtra("tunnel_id", tunnelId);
|
||||
ActivityCompat.startActivity(getActivity().getApplicationContext(), detailIntent, options.toBundle());
|
||||
detailIntent.putExtra(TunnelDetailFragment.TUNNEL_ID, tunnelId);
|
||||
|
||||
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(
|
||||
getActivity(), pairs);
|
||||
ActivityCompat.startActivity(getActivity(), detailIntent, options.toBundle());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TunnelDetailFragment.TunnelDetailListener
|
||||
|
||||
|
@@ -10,7 +10,7 @@ import androidx.preference.PreferenceFragmentCompat;
|
||||
*/
|
||||
public abstract class CustomPreferenceFragment extends PreferenceFragmentCompat {
|
||||
private static final String DIALOG_FRAGMENT_TAG =
|
||||
"android.support.v7.preference.PreferenceFragment.DIALOG";
|
||||
"androidx.preference.PreferenceFragment.DIALOG";
|
||||
|
||||
@Override
|
||||
public void onDisplayPreferenceDialog(Preference preference) {
|
||||
|
@@ -2,7 +2,7 @@ package net.i2p.android.preferences.util;
|
||||
|
||||
import android.content.Context;
|
||||
//import android.support.v7.preference.ListPreference;
|
||||
import android.preference.ListPreference;
|
||||
import androidx.preference.ListPreference;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
public class IntListPreference extends ListPreference {
|
||||
|
@@ -1,8 +1,9 @@
|
||||
package net.i2p.android.preferences.util;
|
||||
|
||||
import android.annotation.TargetApi;
|
||||
import android.content.Context;
|
||||
//import android.support.v7.preference.EditTextPreference;
|
||||
import android.preference.EditTextPreference;
|
||||
import androidx.preference.EditTextPreference;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
public class SummaryEditTextPreference extends EditTextPreference {
|
||||
@@ -15,8 +16,13 @@ public class SummaryEditTextPreference extends EditTextPreference {
|
||||
super(context, attrs);
|
||||
}
|
||||
|
||||
public SummaryEditTextPreference(Context context, AttributeSet attrs, int defStyle) {
|
||||
super(context, attrs, defStyle);
|
||||
public SummaryEditTextPreference(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
}
|
||||
|
||||
@TargetApi(21)
|
||||
public SummaryEditTextPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
||||
super(context, attrs, defStyleAttr, defStyleRes);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -4,12 +4,25 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<!-- The main content view -->
|
||||
<androidx.viewpager.widget.ViewPager
|
||||
android:id="@+id/pager"
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_alignParentBottom="true" />
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<net.lucode.hackware.magicindicator.MagicIndicator
|
||||
android:id="@+id/magic_indicator"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/pager_indicator_height"
|
||||
android:theme="@style/MagicIndicator" />
|
||||
|
||||
<!-- The main content view -->
|
||||
<androidx.viewpager.widget.ViewPager
|
||||
android:id="@+id/pager"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<net.i2p.android.ext.floatingactionbutton.AddFloatingActionButton
|
||||
android:id="@+id/promoted_action"
|
||||
|
@@ -6,14 +6,10 @@
|
||||
|
||||
<com.androidplot.xy.XYPlot
|
||||
android:id="@+id/rate_stat_plot"
|
||||
androidPlot.graphWidget.domainLabelPaint.textSize="@dimen/graph_domain_tick_label_font_size"
|
||||
androidPlot.graphWidget.domainOriginLabelPaint.textSize="@dimen/graph_domain_tick_label_font_size"
|
||||
androidPlot.graphWidget.marginBottom="20dp"
|
||||
androidPlot.graphWidget.marginLeft="20dp"
|
||||
androidPlot.graphWidget.marginRight="10dp"
|
||||
androidPlot.graphWidget.marginTop="11dp"
|
||||
androidPlot.graphWidget.rangeLabelPaint.textSize="@dimen/graph_range_tick_label_font_size"
|
||||
androidPlot.graphWidget.rangeOriginLabelPaint.textSize="@dimen/graph_range_tick_label_font_size"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
</LinearLayout>
|
||||
|
@@ -1,13 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:minHeight="?android:attr/listPreferredItemHeight">
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<RelativeLayout
|
||||
style="@style/ListItem.TwoLines"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
<RelativeLayout style="@style/ListItem.TwoLines">
|
||||
|
||||
<!-- Tunnel status -->
|
||||
<ImageView
|
||||
@@ -59,7 +55,5 @@
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true" />
|
||||
android:background="?attr/selectableItemBackground" />
|
||||
</FrameLayout>
|
||||
|
@@ -76,6 +76,10 @@
|
||||
<string name="general">عام</string>
|
||||
<string name="addressbook_add_wizard_k_name">الاسم</string>
|
||||
<string name="addressbook_add_wizard_k_destination">اتجاه</string>
|
||||
<string name="nsu_iae_illegal_char">اسم العنوان \"%1$s\" يحتوي على حرف غيرصالح %2$s</string>
|
||||
<string name="nsu_iae_cannot_start_with">لا يمكن ان يبدأ اسم العنوان ب \"%s\"</string>
|
||||
<string name="nsu_iae_cannot_end_with">لا يمكن ان ينتهي اسم العنوان ب \"%s\"</string>
|
||||
<string name="nsu_iae_cannot_contain">لا يمكن ان يحتوي اسم العنوان على \"%s\"</string>
|
||||
<string name="i2ptunnel_type_client">مستخدم عادي</string>
|
||||
<string name="i2ptunnel_type_httpclient">HTTP client</string>
|
||||
<string name="i2ptunnel_type_ircclient">IRC برنامج</string>
|
||||
|
@@ -47,8 +47,11 @@
|
||||
<string name="settings_label_advanced">Avanceret</string>
|
||||
<string name="settings_label_transports">Transporter</string>
|
||||
<string name="settings_label_expl_length">Længde</string>
|
||||
<string name="settings_summ_expl_length">%s hop</string>
|
||||
<string name="settings_label_expl_quantity">Mængde</string>
|
||||
<string name="settings_summ_expl_quantity">%s tunneler</string>
|
||||
<string name="settings_label_expl_backupQuantity">Reserve mængde</string>
|
||||
<string name="settings_summ_expl_backupQuantity">%s tunneler</string>
|
||||
<string name="menu_about">Om</string>
|
||||
<string name="about_version">Version:</string>
|
||||
<string name="menu_help">Hjælp</string>
|
||||
|
@@ -115,6 +115,7 @@
|
||||
<string name="notification_status_peers">Teilnehmer: %1$d aktiv, %2$d bekannt</string>
|
||||
<string name="notification_status_expl">Erkundungstunnel: %1$d/%2$d</string>
|
||||
<string name="notification_status_client">Clienttunnel: %1$d/%2$d</string>
|
||||
<string name="stats_memory">Speicher belegt/max.</string>
|
||||
<string name="stats_delay">Nachrichtenverzögerung</string>
|
||||
<string name="copied_base32_system_notification_title">Base32 in die Zwischenablage kopiert</string>
|
||||
<string name="copied_base32_system_notification_body">Die Adresse Ihres I2P-Tunnels wurde in die Zwischenablage kopiert.</string>
|
||||
@@ -181,6 +182,7 @@
|
||||
<string name="about_bugs">Fehlermeldungen und Unterstützung:</string>
|
||||
<string name="about_helpwanted">Unterstützer gesucht!!</string>
|
||||
<string name="about_volunteer">Sie wollen mithelfen, die App besser zu machen? Dann schauen Sie in das Android-Forum:</string>
|
||||
<string name="about_gitlab">Möchten Sie eine Funktion vorschlagen oder einen Fehler beheben? Stellen Sie einen Merge-Request auf Android Gitlab:</string>
|
||||
<string name="menu_help">Hilfe</string>
|
||||
<string name="general">Allgemein</string>
|
||||
<string name="label_router">Öffentliche Adressen</string>
|
||||
@@ -241,6 +243,7 @@
|
||||
<string name="enabled">Aktiviert</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">Der Name des Tunnels zur Erkennung in der Tunnelliste.</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">Eine optionale, aber für Sie aussagekräftige Beschreibung des Tunnels.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Geben Sie hier die .i2p-Adresse oder das Ziel (Hostname.i2p, b32 oder b64) des Tunnels an.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Falls Sie Ausgangsproxies für diese Tunnelart kennen (entweder HTTP oder SOCKS), geben Sie sie hier ein. Trennen Sie mehrere Proxies mit Kommas.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Das ist die IP, unter der der Dienst erreichbar ist. Normalerweise ist er auf der gleichen Maschine, also wird 127.0.0.1 automatisch ausgefüllt.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Dies ist der Port, unter dem der Dienst erreichbar ist.</string>
|
||||
|
@@ -18,6 +18,7 @@
|
||||
<string name="label_graphs">Γραφήματα</string>
|
||||
<string name="hidden">κρυμμένο</string>
|
||||
<string name="testing">Δοκιμάζει</string>
|
||||
<string name="firewalled">Με τείχος προστασίας</string>
|
||||
<string name="symmetric_nat">Συμμετρικό NAT</string>
|
||||
<!--Parameter is a time, e.g. 32s or 2m-->
|
||||
<string name="net_status_info_disconnected">Αποσυνδέθηκε-ελένξετε την σύνδεση Δικτύου</string>
|
||||
@@ -64,8 +65,11 @@
|
||||
<string name="settings_default">Εξ\'ορισμού</string>
|
||||
<string name="settings_label_advanced">Προχωρημένα</string>
|
||||
<string name="settings_label_expl_length">Μήκος</string>
|
||||
<string name="settings_summ_expl_length">%s βήματα</string>
|
||||
<string name="settings_summ_expl_lengthVariance">%s</string>
|
||||
<string name="settings_label_expl_quantity">Ποσότητα</string>
|
||||
<string name="settings_summ_expl_quantity">%s τούνελ</string>
|
||||
<string name="settings_summ_expl_backupQuantity">%s τούνελ</string>
|
||||
<string name="menu_about">Σχετικά με</string>
|
||||
<string name="about_version">Έκδοση</string>
|
||||
<string name="about_project">Project Home:</string>
|
||||
@@ -93,6 +97,7 @@
|
||||
<string name="disabled">Απενεργοποιημένο</string>
|
||||
<string name="whitelist">Λίστα Επιτρεπόμενων</string>
|
||||
<string name="unlimited">Απεριόριστο</string>
|
||||
<string name="num_minutes">%s λεπτά</string>
|
||||
<string name="username">Όνομα χρήστη</string>
|
||||
<string name="password">Κωδικός</string>
|
||||
<string name="other">Άλλ</string>
|
||||
|
@@ -139,6 +139,7 @@
|
||||
<string name="settings_label_expl_inbound">Tulotunnelit</string>
|
||||
<string name="settings_label_expl_outbound">Lähtötunnelit</string>
|
||||
<string name="settings_label_expl_length">Pituus</string>
|
||||
<string name="settings_summ_expl_length">%s hyppyä</string>
|
||||
<string name="settings_summ_expl_lengthVariance">%s</string>
|
||||
<string name="settings_label_expl_quantity">Määrä</string>
|
||||
<string name="settings_summ_expl_quantity">%s tunnelia</string>
|
||||
|
@@ -292,8 +292,8 @@
|
||||
<string name="access_control">Contrôle de l’accès</string>
|
||||
<string name="restricted_access">Accès restreint</string>
|
||||
<string name="disabled">Désactivé</string>
|
||||
<string name="whitelist">Liste blanche</string>
|
||||
<string name="blacklist">Liste noire</string>
|
||||
<string name="whitelist">Liste d’acceptation</string>
|
||||
<string name="blacklist">Liste de rejet</string>
|
||||
<string name="access_list">Liste d’accès</string>
|
||||
<string name="reject_inproxies">Refuser les mandataires entrants</string>
|
||||
<string name="tunnel_summ_reject_inproxies">Ne permettre qu’aux utilisateurs d’I2P de se connecter</string>
|
||||
|
@@ -111,6 +111,7 @@
|
||||
<string name="name">Nome</string>
|
||||
<string name="description">Descrición</string>
|
||||
<string name="disabled">Desactivado</string>
|
||||
<string name="num_minutes">%sminutos</string>
|
||||
<string name="username">Nome de usuario</string>
|
||||
<string name="password">Contrasinal</string>
|
||||
<string name="other">Outra</string>
|
||||
|
@@ -137,6 +137,7 @@
|
||||
<string name="settings_label_expl_inbound">Bejövő alagutak</string>
|
||||
<string name="settings_label_expl_outbound">Kimenő alagutak</string>
|
||||
<string name="settings_label_expl_length">Hossz</string>
|
||||
<string name="settings_summ_expl_length">%s ugrás</string>
|
||||
<string name="settings_label_expl_quantity">Mennyiség</string>
|
||||
<string name="settings_summ_expl_quantity">%s alagút</string>
|
||||
<string name="settings_desc_expl_quantity">Mennyi alagút</string>
|
||||
@@ -157,6 +158,10 @@
|
||||
<string name="addressbook_add_wizard_k_name">Név</string>
|
||||
<string name="addressbook_add_wizard_k_destination">Célállomás</string>
|
||||
<string name="addressbook_add_wizard_desc_name">A név</string>
|
||||
<string name="nsu_iae_illegal_char">Hoszt név \"%1$s\" helytelen karaktert tartalmaz %2$s</string>
|
||||
<string name="nsu_iae_cannot_start_with">Hoszt név nem kezdődhet a következővel: \"%s\"</string>
|
||||
<string name="nsu_iae_cannot_end_with">Hoszt név nem végződhet a következővel: \"%s\"</string>
|
||||
<string name="nsu_iae_cannot_contain">Hoszt név nem tartalmahatja a következőt: \"%s\"</string>
|
||||
<string name="i2ptunnel_type_client">Normál kliens</string>
|
||||
<string name="i2ptunnel_type_httpclient">HTTP kliens</string>
|
||||
<string name="i2ptunnel_type_ircclient">IRC kliens</string>
|
||||
@@ -245,6 +250,7 @@
|
||||
<string name="post_limits">POST korlát</string>
|
||||
<string name="tunnel_summ_delay_open">Az alagút nyitás késleltetése szükségessé válásig</string>
|
||||
<string name="tunnel_summ_reduce_quantity">Alagutak mennyiségének csökkentése üres állapotban</string>
|
||||
<string name="num_minutes">%s perc</string>
|
||||
<string name="reduced_tunnel_quantity">Csökkentett alagút mennyiség</string>
|
||||
<string name="close_tunnels">Alagutak bezárása üresjárat esetén</string>
|
||||
<string name="new_keys_on_reopen_conflict_msg">Nem engedélyezheti az új kulcsok készítését újranyitáskor amíg az alagút állandó kulcsok használatára van konfigurálva. Le akarja tiltani az állandó kulcsokat?</string>
|
||||
|
@@ -190,6 +190,7 @@
|
||||
<string name="blacklist">Blacklist</string>
|
||||
<string name="tunnel_summ_delay_open">Pozdržať otvorenie tunelov až pokiaľ to nebude vyžadované</string>
|
||||
<string name="tunnel_summ_reduce_quantity">Znížiť množstvo tunelov pri nečinnosti</string>
|
||||
<string name="num_minutes">%s minúty</string>
|
||||
<string name="close_tunnels">Zavrieť tunely pri nečinnosti</string>
|
||||
<string name="http_client">HTTP klient</string>
|
||||
<string name="username">Užívateľské meno</string>
|
||||
|
@@ -88,6 +88,7 @@
|
||||
<string name="disabled">E çaktivizuar</string>
|
||||
<string name="whitelist">Listë lejimesh</string>
|
||||
<string name="unlimited">E pakufizuar</string>
|
||||
<string name="num_minutes">%s minuta</string>
|
||||
<string name="username">Emër përdoruesi</string>
|
||||
<string name="password">Fjalëkalim</string>
|
||||
<string name="other">Tjetër</string>
|
||||
|
@@ -116,6 +116,11 @@ Läs utgåvenoteringar och licens-information.</string>
|
||||
<string name="notification_status_peers">Jämlikar: %1$d aktiva, %2$d kända</string>
|
||||
<string name="notification_status_expl">Utforskande tunnlar: %1$d/%2$d</string>
|
||||
<string name="notification_status_client">Klienttunnlar:%1$d/%2$d</string>
|
||||
<string name="stats_memory">Minne använt/max</string>
|
||||
<string name="stats_lag">Jobbfördröjning</string>
|
||||
<string name="stats_delay">Meddelandefördröjning</string>
|
||||
<string name="copied_base32_system_notification_title">Base32 kopierad till urklipp</string>
|
||||
<string name="copied_base32_system_notification_body">Adressen till din I2P-tunnel har kopierats till urklipp.</string>
|
||||
<string name="menu_settings">Inställningar</string>
|
||||
<string name="settings_enable">Aktivera</string>
|
||||
<string name="settings_desc_subscriptions">Prenumerations URL</string>
|
||||
@@ -148,6 +153,13 @@ Läs utgåvenoteringar och licens-information.</string>
|
||||
<string name="settings_label_transports">Transporter</string>
|
||||
<string name="settings_label_maxConns">Max anslutningar</string>
|
||||
<string name="settings_label_i2cp">I2CP interfrace</string>
|
||||
<string name="settings_desc_i2cp">Tillåt tredjepartsappar att skapa tunnlar med I2CP (kräver omstart av routern)</string>
|
||||
<string name="settings_label_sam">SAM-gränssnitt</string>
|
||||
<string name="settings_desc_sam">Tillåt tredjepartsappar att skapa tunnlar med SAM (kräver omstart av routern)</string>
|
||||
<string name="settings_confirm_sam">Ett program försöker upprätta en SAM-anslutning.</string>
|
||||
<string name="settings_confirm_sam_id">Anslutningsnamn/ID:</string>
|
||||
<string name="settings_confirm_allow_sam">Tryck för att tillåta</string>
|
||||
<string name="settings_confirm_deny_sam">Ignorera för att förneka</string>
|
||||
<string name="settings_label_exploratory_pool">Utforskande pool</string>
|
||||
<string name="settings_desc_exploratory_pool">Tunnelparametrar</string>
|
||||
<string name="settings_label_expl_inbound">Inåtgående tunnlar</string>
|
||||
@@ -172,6 +184,7 @@ Läs utgåvenoteringar och licens-information.</string>
|
||||
<string name="about_bugs">Fel och Support:</string>
|
||||
<string name="about_helpwanted">Hjälp Önskas!</string>
|
||||
<string name="about_volunteer">Vill du hjälpa till att göra appen bättre? Anmäl dig på Android-forumet:</string>
|
||||
<string name="about_gitlab">Vill du föreslå en funktion eller åtgärda ett fel? Gör en sammanslagningsförfrågan på Android Gitlab:</string>
|
||||
<string name="menu_help">Hjälp</string>
|
||||
<string name="general">Generell</string>
|
||||
<string name="label_router">Publika adresser</string>
|
||||
@@ -232,6 +245,7 @@ Läs utgåvenoteringar och licens-information.</string>
|
||||
<string name="enabled">Aktiverad</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">Tunnelns namn, för identifikation i tunnellistan</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">Beskrivning av tunneln. Frivillig och endast för information.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Ange .i2p-adressen eller destinationen (hostname.i2p, b32 eller b64) för tunneln här.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Om du känner till några utproxier för den här typen av tunnel (antingen HTTP eller SOCKS), fyll i dem. Separera flera proxier med kommatecken.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Detta är IP-adressen som din tjänst körs på, den är vanligtvis på samma maskin så 127.0.0.1 fylls i automatiskt.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Detta är den port din tjänst tar emot anslutningar på.</string>
|
||||
@@ -356,4 +370,5 @@ Läs utgåvenoteringar och licens-information.</string>
|
||||
<string name="label_browser_configuration">Browser konfiguration</string>
|
||||
<string name="no_market_app">Ingen marknadsapp hittades. Installera manuellt</string>
|
||||
<string name="unset">Återställ</string>
|
||||
<string name="running_background">I2P körs i bakgrunden</string>
|
||||
</resources>
|
||||
|
@@ -25,7 +25,7 @@
|
||||
<string name="button_router_graceful">I2P %s içinde kapatılacak</string>
|
||||
<string name="button_shutdown_now">Şimdi durdurmak için uzun basın</string>
|
||||
<string name="button_cancel_graceful">Kapatmayı engellemek için uzun basın</string>
|
||||
<string name="no_internet">Kullanılabilecek bir İnternet bağlantısı yok</string>
|
||||
<string name="no_internet">Kullanılabilecek bir internet bağlantısı yok</string>
|
||||
<string name="hidden">Gizli</string>
|
||||
<string name="testing">Sınanıyor</string>
|
||||
<string name="firewalled">Güvenlik duvarlı</string>
|
||||
@@ -40,8 +40,8 @@
|
||||
<string name="net_status_info_disconnected">Bağlantı kesildi. Ağ bağlantısını denetleyin</string>
|
||||
<string name="net_status_error_udp_port">UDP bağlantı noktası kullanılıyor. Ayarları değiştirip yeniden başlatın</string>
|
||||
<string name="net_status_error_no_active_peers">Etkin eş yok, ağ bağlantısını ve güvenlik duvarını denetleyin</string>
|
||||
<string name="net_status_error_udp_disabled_tcp_not_set">UDP devre dışı ve Geliş TCP bağlantısı sunucu/bağlantı noktası ayarlanmamış</string>
|
||||
<string name="net_status_warn_firewalled_udp_disabled">Güvenlik duvarı ve UDP devre dışı</string>
|
||||
<string name="net_status_error_udp_disabled_tcp_not_set">UDP etkisizleştirilmiş ve Geliş TCP bağlantısı sunucu/bağlantı noktası ayarlanmamış</string>
|
||||
<string name="net_status_warn_firewalled_udp_disabled">UDP ile güvenlik duvarı etkisizleştirilmiş</string>
|
||||
<string name="shared_clients">Paylaşılmış istemciler</string>
|
||||
<string name="uptime">Çalışma süresi</string>
|
||||
<string name="active_peers">Etkin eşler</string>
|
||||
@@ -111,7 +111,7 @@
|
||||
<string name="notification_status_stopping_after_net">Ağ bağlantısı kesildi, I2P durduruluyor</string>
|
||||
<string name="notification_status_shutdown_cancelled">Kapatma iptal edildi</string>
|
||||
<string name="notification_status_shutting_down">I2P kapatılıyor</string>
|
||||
<string name="notification_status_bw">Bant genişliği: %1$sBps indirme / %2$sBps yükleme</string>
|
||||
<string name="notification_status_bw">Bant genişliği: %1$sB/sn indirme / %2$sB/sn yükleme</string>
|
||||
<string name="notification_status_peers">Eşler: %1$d etkin, %2$d bilinmeyen</string>
|
||||
<string name="notification_status_expl">Keşif tünelleri: %1$d/%2$d</string>
|
||||
<string name="notification_status_client">İstemci tünelleri: %1$d/%2$d</string>
|
||||
@@ -132,11 +132,11 @@
|
||||
<string name="settings_label_bw_outbound">Gidiş bağlantısı hızı</string>
|
||||
<string name="settings_desc_bw_outbound">En yüksek gidiş bağlantısı hızı</string>
|
||||
<string name="settings_label_network">Ağ</string>
|
||||
<string name="settings_label_hiddenMode">Katılım</string>
|
||||
<string name="settings_label_hiddenMode">Katkıda Bulunmak</string>
|
||||
<string name="settings_desc_hiddenMode">Gizli kipi kapat</string>
|
||||
<string name="settings_label_maxPartTunnels">Katılınacak en fazla tünel sayısı </string>
|
||||
<string name="settings_desc_maxPartTunnels">Katılınacak en fazla tünel sayısı (varsayılan=20)</string>
|
||||
<string name="settings_dialog_maxPartTunnels">Katılınacak en fazla tünel sayısı </string>
|
||||
<string name="settings_label_maxPartTunnels">Katkıda bulunulacak en fazla tünel sayısı </string>
|
||||
<string name="settings_desc_maxPartTunnels">Katkıda bulunulacak en fazla tünel sayısı (varsayılan=20)</string>
|
||||
<string name="settings_dialog_maxPartTunnels">Katkıda bulunulacak en fazla tünel sayısı </string>
|
||||
<string name="settings_label_sharePercent">Paylaşım yüzdesi</string>
|
||||
<string name="settings_desc_sharePercent">Paylaşılacak bant genişliği yüzdesi (varsayılan=80)</string>
|
||||
<string name="settings_dialog_sharePercent">Paylaşılacak bant genişliği yüzdesi</string>
|
||||
@@ -268,7 +268,7 @@
|
||||
<string name="target_destination">Hedef konum</string>
|
||||
<string name="persistent_key">Sürekli anahtar</string>
|
||||
<string name="persistent_key_conflict_title">Yeniden açıldığında yeni anahtarlar oluşturulmasın</string>
|
||||
<string name="persistent_key_conflict_msg">Tünel yeniden açıldığında yeni anahtarlar oluşturuluyorsa sürekli anahtarlar kullanılamaz. Yeniden açıldığından yeni anahtarların oluşturulması devre dışı bırakılsın mı?</string>
|
||||
<string name="persistent_key_conflict_msg">Tünel yeniden açıldığında yeni anahtarlar oluşturuluyorsa sürekli anahtarlar kullanılamaz. Yeniden açıldığından yeni anahtarların oluşturulması etkisizleştirilsin mi?</string>
|
||||
<string name="tunnel_summ_persistent_key">Yeniden başlatıldığında bu tünelin hedefi korunsun</string>
|
||||
<string name="reachable_on">Şuradan erişilebilir</string>
|
||||
<string name="listen_port">Dinlenecek bağlantı noktası</string>
|
||||
@@ -292,7 +292,7 @@
|
||||
<string name="tunnel_summ_delay_connect">Bağlantı yanıtları için etkinleştirin</string>
|
||||
<string name="access_control">Erişim denetimi</string>
|
||||
<string name="restricted_access">Kısıtlı erişim</string>
|
||||
<string name="disabled">Devre dışı</string>
|
||||
<string name="disabled">Etkisizleştirilmiş</string>
|
||||
<string name="whitelist">Beyaz liste</string>
|
||||
<string name="blacklist">Kara liste</string>
|
||||
<string name="access_list">Erişim listesi</string>
|
||||
@@ -333,7 +333,7 @@
|
||||
<string name="close_tunnels">Boştayken tüneller kapatılsın</string>
|
||||
<string name="new_keys_on_reopen">Yeniden açıldığından yeni anahtarlar oluşturulsun</string>
|
||||
<string name="new_keys_on_reopen_conflict_title">Sürekli anahtarlar kullanılamasın</string>
|
||||
<string name="new_keys_on_reopen_conflict_msg">Tünel yeniden açıldığında yeni anahtarlar oluşturuluyorsa sürekli anahtarlar kullanılamaz. Sürekli anahtarlar devre dışı bırakılsın mı?</string>
|
||||
<string name="new_keys_on_reopen_conflict_msg">Tünel yeniden açıldığında yeni anahtarlar oluşturuluyorsa sürekli anahtarlar kullanılamaz. Sürekli anahtarlar etkisizleştirilsin mi?</string>
|
||||
<string name="http_client">HTTP istemcisi</string>
|
||||
<string name="tunnel_summ_user_agent">\'User-Agent\' üst bilgisi geçirilsin</string>
|
||||
<string name="tunnel_summ_referer">\'Referer\' üst bilgisi geçirilsin</string>
|
||||
|
@@ -15,7 +15,7 @@ buildscript {
|
||||
google()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:7.4.2'
|
||||
classpath 'com.android.tools.build:gradle:8.3.1'
|
||||
classpath 'com.android.tools.lint:lint-gradle:26.1.1'
|
||||
}
|
||||
}
|
||||
|
@@ -11,12 +11,12 @@
|
||||
# https://developer.android.com/r/tools/gradle-multi-project-decoupled-projects
|
||||
# org.gradle.parallel=true
|
||||
#Sun Mar 09 19:44:44 EDT 2025
|
||||
ANDROID_BUILD_SDK_VERSION=34
|
||||
ANDROID_BUILD_TARGET_SDK_VERSION=34
|
||||
ANDROID_BUILD_SDK_VERSION=35
|
||||
ANDROID_BUILD_TARGET_SDK_VERSION=35
|
||||
GROUP=net.i2p.android
|
||||
I2P_ANDROID_VERSION=2.8.0
|
||||
I2P_ANDROID_VERSION_CODE=4745291
|
||||
I2P_VERSION=2.8.0-1
|
||||
I2P_ANDROID_VERSION=2.10.1
|
||||
I2P_ANDROID_VERSION_CODE=4745297
|
||||
I2P_VERSION=2.10.0-1
|
||||
POM_DEVELOPER_EMAIL=hankhill19580@gmail.com
|
||||
POM_DEVELOPER_ID=idk
|
||||
POM_DEVELOPER_NAME=idk
|
||||
@@ -31,3 +31,6 @@ POM_URL=https\://github.com/i2p/i2p.android.base
|
||||
android.enableJetifier=true
|
||||
android.useAndroidX=true
|
||||
org.gradle.jvmargs=-Xmx1536M
|
||||
android.defaults.buildfeatures.buildconfig=true
|
||||
android.nonTransitiveRClass=false
|
||||
android.nonFinalResIds=false
|
||||
|
@@ -125,12 +125,12 @@ afterEvaluate { project ->
|
||||
}
|
||||
|
||||
task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
|
||||
classifier = 'javadoc'
|
||||
archiveClassifier = 'javadoc'
|
||||
from androidJavadocs.destinationDir
|
||||
}
|
||||
|
||||
task androidSourcesJar(type: Jar) {
|
||||
classifier = 'sources'
|
||||
archiveClassifier = 'sources'
|
||||
from android.sourceSets.main.java.sourceFiles
|
||||
}
|
||||
|
||||
|
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-all.zip
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="net.i2p.android.lib.client">
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<application android:allowBackup="true"
|
||||
android:label="@string/app_name">
|
||||
|
@@ -23,6 +23,9 @@ android {
|
||||
abortOnError false
|
||||
}
|
||||
namespace 'net.i2p.android.lib.helper'
|
||||
buildFeatures {
|
||||
aidl true
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="net.i2p.android.lib.helper">
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<application android:allowBackup="true"
|
||||
android:label="@string/app_name">
|
||||
|
Reference in New Issue
Block a user