Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tribler Android App #2476

Closed
wants to merge 644 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
644 commits
Select commit Hold shift + click to select a range
a06094b
annotations and doc
brussee Jul 25, 2016
f6e1660
improve function name
brussee Jul 25, 2016
d796b94
navigation backstack
brussee Jul 25, 2016
5824fb4
json classes implements Serializable
brussee Jul 25, 2016
ee24bf8
retain fragments for rotation handling
brussee Jul 25, 2016
c65378a
minor
brussee Jul 25, 2016
e350940
debounce search
brussee Jul 25, 2016
37c61df
remove dummy settings activity
brussee Jul 25, 2016
1f1b123
refactor network connection broadcast receiver
brussee Jul 25, 2016
f4b9122
refactor fragment inheritence
brussee Jul 25, 2016
2db5b23
null check
brussee Jul 26, 2016
a483d36
check if new query equals current
brussee Jul 26, 2016
2ffa129
memory leaks fixed enable stetho
brussee Jul 26, 2016
a8765b5
use RxBroadcast
brussee Jul 26, 2016
06c1a19
bugfix okhttp client
brussee Jul 26, 2016
164e298
proper getters
brussee Jul 26, 2016
0b275ad
warn user if network connection is lost
brussee Jul 26, 2016
b141e73
handleIntent
brussee Jul 26, 2016
6693035
getApplicationContext().getSystemService
brussee Jul 27, 2016
12d8a87
fix focus lost issue while typing search query
brussee Jul 27, 2016
6edc328
do not reload and retain fragments
brussee Jul 27, 2016
e472114
disable stetho due to crashes:
brussee Jul 27, 2016
f5b6e73
fix channel back button if searchview is expanded
brussee Jul 27, 2016
2ef5b3f
service init sequence
brussee Jul 27, 2016
3d1a31f
remove connection pool setting
brussee Jul 28, 2016
e3c605d
service binder interface
brussee Jul 29, 2016
71cde36
bind service interface
brussee Jul 29, 2016
9ec8bc8
bugfix search and added exception logging
brussee Jul 29, 2016
0b2cbd4
verbose lifecycle logging
brussee Jul 30, 2016
6358a71
get data set shallow clone
brussee Jul 30, 2016
f2a38de
bugfix nullpointer
brussee Jul 30, 2016
326c0aa
split handle on new intent
brussee Jul 30, 2016
94b567b
ShutdownAck
brussee Jul 30, 2016
712ba91
refactor event stream
brussee Jul 30, 2016
e2a488f
loading bar
brussee Jul 30, 2016
3a4f4df
bugfix
brussee Jul 30, 2016
04905f8
thread safety
brussee Jul 30, 2016
8d808fb
plug memory leak
brussee Jul 30, 2016
9e56564
kleurtjes
brussee Jul 30, 2016
0db4710
bugfix event empty line and channel list layout
brussee Jul 31, 2016
12f8ff5
plug memory leak
brussee Jul 31, 2016
241a50c
loading screen
brussee Jul 31, 2016
b418d1b
bugfix
brussee Jul 31, 2016
ea4cb1d
eventstream ready flag and backwards compatible layout
brussee Jul 31, 2016
1337042
loading state management
brussee Jul 31, 2016
1f4bd00
use message handlers with main thread looper and close event stream
brussee Jul 31, 2016
9ab138e
bugfix loading indicator
brussee Jul 31, 2016
b70c1f7
ready check
brussee Jul 31, 2016
b75b0b7
bugfix
brussee Jul 31, 2016
b406dfe
kill process on shutdown
brussee Jul 31, 2016
04f76b0
minor
brussee Jul 31, 2016
edb20a9
torrent list layout
brussee Aug 1, 2016
2caac67
si units
brussee Aug 1, 2016
327df48
my channel and popular channels
brussee Aug 1, 2016
2cabd5f
auto retry
brussee Aug 1, 2016
d883fcf
nullcheck
brussee Aug 1, 2016
0e74708
auto retry
brussee Aug 1, 2016
bdc1916
my channel layout
brussee Aug 1, 2016
5f13f7b
remove toolbar back button and auto refresh toolbar
brussee Aug 1, 2016
940193f
startup action
brussee Aug 1, 2016
deeadd9
bugfix toolbar
brussee Aug 1, 2016
a2af7da
bugfix toolbar 2
brussee Aug 1, 2016
d90b58a
bugfix toolbar 3
brussee Aug 1, 2016
435965c
clean build every time due to layout bug
brussee Aug 1, 2016
17b1773
retry max 3 times
brussee Aug 2, 2016
cc93371
equals method now only uses infohash or dispersy_cid
brussee Aug 2, 2016
cc98545
bugfix nullpointer
brussee Aug 2, 2016
637460f
refresh view on return
brussee Aug 2, 2016
f638b18
disable clean build
brussee Aug 2, 2016
d15129c
fix crash on rotate and bugfix retry
brussee Aug 2, 2016
ae4ce89
fix progressbar layout issue
brussee Aug 2, 2016
6f12d68
reload view after search
brussee Aug 2, 2016
df83be1
upgrade experimental gradle version
brussee Aug 5, 2016
402e11e
bugfix fast scroller
brussee Aug 5, 2016
bfea736
more efficient parsing
brussee Aug 5, 2016
d6b6123
lower python log level to warning
brussee Aug 5, 2016
8665f7d
increase timeout
brussee Aug 5, 2016
240bc14
documentation in build.gradle
brussee Aug 7, 2016
034d2bf
ask user with dialog
brussee Aug 7, 2016
38522df
shutdown confirm dialog
brussee Aug 7, 2016
33c58c2
fix back button
brussee Aug 7, 2016
9dfe482
create my channel
brussee Aug 7, 2016
0282335
retry timeout of 1s
brussee Aug 13, 2016
8b848b4
refactor base fragment
brussee Aug 13, 2016
390493d
create channel fragment
brussee Aug 13, 2016
7c82738
my channel overview
brussee Aug 14, 2016
6f5bff2
edit my channel
brussee Aug 14, 2016
611be37
status message
brussee Aug 14, 2016
85c4c21
update title after edit my channel
brussee Aug 14, 2016
4c038aa
keep state of fragment my channel
brussee Aug 14, 2016
0ef3bb4
plug memory leak options menu rx subscriptions
brussee Aug 14, 2016
cae088e
bugfix edit channel layout
brussee Aug 14, 2016
6120dd4
doc and open drawer only once
brussee Aug 14, 2016
68a5cdc
update RxJava to 1.1.9
brussee Aug 15, 2016
e3185bb
clear statusBar
brussee Aug 15, 2016
1b99963
browse and copy file utils
brussee Aug 15, 2016
f1da4c5
add torrent to channel
brussee Aug 15, 2016
14945b2
ask user to confirm remove torrent from my channel
brussee Aug 15, 2016
f31d761
minor
brussee Aug 15, 2016
e200a0e
torrent discovered listener
brussee Aug 15, 2016
caef9c5
subscribe with beam
brussee Aug 15, 2016
74ac9ba
minor
brussee Aug 15, 2016
1d76013
ask permission on runtime
brussee Aug 15, 2016
06e1e40
minor
brussee Aug 15, 2016
8e8aec8
change rest api port to 8085
brussee Aug 15, 2016
51f4637
update gradle experimental alpha to beta
brussee Aug 22, 2016
488aa63
minor update build tools
brussee Aug 29, 2016
ce5edee
python services with adb amstart from command line
brussee Sep 1, 2016
678cc41
add vlc
brussee Sep 1, 2016
af21412
update gradle experimental 0.8.0 beta 3 to release candidate 1
brussee Sep 7, 2016
42416c2
add android support test runner and test manifest.xml to override ann…
brussee Sep 7, 2016
b816879
add wifi p2p
brussee Sep 8, 2016
2dea6fe
update gradle experimental 0.8.0 release candidate 1 to 2
brussee Sep 9, 2016
6f66e9d
update gradle experimental 0.8.0 release candidate 2 to final release
brussee Sep 23, 2016
4086903
update android support libraries 24.2.0 to 24.2.1
brussee Sep 23, 2016
b084917
update stetho and leakcanary
brussee Sep 23, 2016
f935810
minor
brussee Sep 23, 2016
1e0aaa4
fix layout drawer header padding
brussee Sep 23, 2016
324f331
MainActivity stop listening to events
brussee Sep 27, 2016
7ee4328
bugfix thread.sleep on main thread
brussee Sep 27, 2016
0409d6d
workaround bug https://code.google.com/p/android/issues/detail?id=211164
brussee Sep 27, 2016
f957047
auto retry 3 times with incremental delay
brussee Sep 27, 2016
eb899be
catch specific api http exceptions
brussee Sep 28, 2016
fcdb893
Avoid FileUriExposedException
brussee Sep 29, 2016
0f883e3
update gradle experimental to 0.8.1
brussee Oct 14, 2016
febe4a1
doOnError MyUtils.onError
brussee Oct 14, 2016
2da54a4
update build tools to 24.0.3
brussee Oct 15, 2016
28f52c8
reload() using cancel()
brussee Oct 15, 2016
967cab0
less verbose logging on connect service event stream
brussee Oct 15, 2016
21e53cf
use @StringResId
brussee Oct 15, 2016
2f6ec52
workaround snackbar action listener memory leak
brussee Oct 15, 2016
9ab5352
auto retry with cancel option
brussee Oct 15, 2016
c09fce2
refactor reload
brussee Oct 15, 2016
314adff
move resolveUri to utils
brussee Oct 16, 2016
820d4ec
simplify MyUtils.onError
brussee Oct 16, 2016
9c957a4
verbose logging oneSecondDelay
brussee Oct 16, 2016
06d8a17
two seconds delay
brussee Oct 16, 2016
465e9a4
doc
brussee Oct 16, 2016
46c7a92
bugfix: setTitle after orientation change (on rotate)
brussee Oct 16, 2016
f51ab8a
simplify showLoading
brussee Oct 16, 2016
b6e9cfb
remove cancel()
brussee Oct 16, 2016
0f8a902
bugfix: edit channel input
brussee Oct 16, 2016
5e2661a
bugfix: memory leak menu searchView
brussee Oct 16, 2016
0b7233d
bugfix: memory leak textView
brussee Oct 16, 2016
8d63abc
bugfix: handle edit channel intent
brussee Oct 16, 2016
b14b654
getCurrentFragment()
brussee Oct 18, 2016
0a77796
remove unreachable code
brussee Oct 18, 2016
08f1772
remove edit channel activity fragment
brussee Oct 18, 2016
9310eab
remove onComplete this.finish()
brussee Oct 18, 2016
391f3a2
add subscribe to channel request code
brussee Oct 18, 2016
2c4c810
save state in ChannelFragment
brussee Oct 19, 2016
427e0eb
update gradle experimental to 0.8.2
brussee Oct 20, 2016
99391d5
update build tools to 25.0.0
brussee Oct 20, 2016
656737e
update rxjava to 1.2.1
brussee Oct 20, 2016
6f72c7c
bugfix: torrent category nullpointer
brussee Oct 20, 2016
27f2341
bundle original vlc apk with app
brussee Oct 20, 2016
9c607d8
bugfix: show loading nullpointer
brussee Oct 20, 2016
d733f35
Dynamic linker works properly since api level 18
brussee Oct 22, 2016
6e83c42
make boost recipe compatible with Google NDK 13.0
brussee Oct 24, 2016
b988da6
add event body to event stream start event
brussee Oct 24, 2016
e94a845
add torrent discovered event information
brussee Oct 24, 2016
2742c05
add discovered torrent to channel list immediately
brussee Oct 24, 2016
c78ab50
sum of file sizes for discovered torrent
brussee Oct 24, 2016
b22faf3
torrent activity & fragment
brussee Oct 24, 2016
120f287
minor
brussee Oct 24, 2016
1bc954d
implemented downloads api
brussee Oct 24, 2016
d469199
implemented torrent removed from channel event
brussee Oct 25, 2016
bbcdbf5
various null checks
brussee Oct 25, 2016
e6917d7
fix services
brussee Oct 26, 2016
4c8b95d
added CreateTorrentActivity
brussee Oct 26, 2016
baef2ee
no need to listen to event stream if already started
brussee Oct 26, 2016
51ca5a6
disable family filter for fetching torrents in channels
brussee Oct 26, 2016
0e784dc
copy files activity & adb pull script
brussee Oct 26, 2016
8c57976
working copy files script
brussee Oct 27, 2016
e7dc988
working adb push script
brussee Oct 27, 2016
1191f61
robust logcat parsing
brussee Oct 27, 2016
2ecb970
automated experiment running
brussee Oct 27, 2016
6415c69
ask write permissions for external storage
brussee Oct 28, 2016
5e05f1c
move scripts & uniform setup
brussee Oct 28, 2016
31d8a3d
write .Tribler appstate dir to external storage on Android
brussee Oct 28, 2016
808d665
version code
brussee Oct 28, 2016
797b779
bugfix script adb_pull.py
brussee Oct 28, 2016
9d215f9
re_install script restores default appstate
brussee Oct 28, 2016
5db7087
pylint fix: don't re-define file
brussee Oct 28, 2016
66882a4
version code
brussee Oct 28, 2016
6ba2b90
pylint fix: remove semicolon
brussee Oct 28, 2016
7aa97c8
double .Tribler subdir
brussee Oct 28, 2016
eb250bf
bugfix: .
brussee Oct 28, 2016
1e2167a
run experiment local script
brussee Oct 28, 2016
3047206
graph data 0 0
brussee Oct 28, 2016
5332a77
bugfix: .
brussee Oct 28, 2016
481fb92
more robust parsing logcat
brussee Oct 28, 2016
227bebc
show error if input file does not exist
brussee Oct 28, 2016
c835b3c
bugfix: mkdirs
brussee Oct 28, 2016
ce55509
logcat clear on start only
brussee Oct 31, 2016
52ed825
get public dir
brussee Oct 31, 2016
a4bd106
hardcode sdcard
brussee Oct 31, 2016
7076a80
ask write permissions
brussee Oct 31, 2016
814cabf
clean app state
brussee Nov 1, 2016
100e5dc
nosetests output path
brussee Nov 1, 2016
bc600ca
Jenkins workspace environment variable for local Tribler source root
brussee Nov 2, 2016
e1a041a
Jenkins environment variable for VLC .apk
brussee Nov 2, 2016
393abf7
run gradlew of build & deploy script from app root
brussee Nov 2, 2016
25f909f
add local.properties (for Jenkins)
brussee Nov 2, 2016
bfa1572
separate scripts
brussee Nov 3, 2016
386ce31
add shutdown script
brussee Nov 3, 2016
6bab543
nosetests output in files dir
brussee Nov 3, 2016
a6f2d58
separate scripts
brussee Nov 3, 2016
f5d24e6
startup and shutdown timer
brussee Nov 3, 2016
1771287
verbose logging
brussee Nov 4, 2016
d269b6c
reduce sleep time
brussee Nov 4, 2016
4fbe88c
write logcat to file while waiting for process to die
brussee Nov 4, 2016
bd9506d
add verbose logging
brussee Nov 15, 2016
fdf2ad1
nfc beam any channel
brussee Nov 15, 2016
7a50274
fix post array field
brussee Nov 16, 2016
f2b166c
improved error handling add torrent
brussee Nov 16, 2016
0227fe6
onRecording finished ask user to publish immediately
brussee Nov 16, 2016
3289b95
add update script
brussee Nov 16, 2016
de3e08d
always verbose logging
brussee Nov 16, 2016
35e67cf
copy to external cache dir
brussee Nov 20, 2016
25b1110
update sqlite to 3.15.1 with FTS4
brussee Nov 20, 2016
f57346e
update apsw to 3.15.0-r1 with FTS4
brussee Nov 20, 2016
ef53119
update P4A by switching to upstream master
brussee Nov 20, 2016
3ede3ea
https download sqlite3
brussee Nov 20, 2016
7bdd54a
no longer necessary since min api level was increased to 18
brussee Nov 20, 2016
9a8f010
update jars
brussee Nov 20, 2016
094c6f8
force p4a reinstall
brussee Nov 20, 2016
d7aa2ad
turn off wake lock and wifi lock
brussee Nov 21, 2016
ce60b95
remove shutdown gracetime (#2635)
brussee Nov 21, 2016
6513ed8
implement start download rest api
brussee Nov 21, 2016
1bdac94
rename start download ack
brussee Nov 22, 2016
019e1d7
start seeding after adding torrent to channel
brussee Nov 22, 2016
81d68d7
fix api interface
brussee Nov 22, 2016
32f33b2
implement get settings endpoint
brussee Nov 22, 2016
ba95a47
add videoserver client
brussee Nov 22, 2016
dee64cf
remove videoserver client
brussee Nov 22, 2016
cc053a5
fix memory leak async start download
brussee Nov 22, 2016
64a0069
play video
brussee Nov 22, 2016
c0f14b8
set download dir
brussee Nov 22, 2016
e2b8a0d
bugfix form encoding
brussee Nov 22, 2016
23ec195
more verbose logging
brussee Nov 22, 2016
28f0042
parse string port value
brussee Nov 22, 2016
1c9e05e
add new videos to gallery
brussee Nov 23, 2016
05e2066
save new torrent file next to content
brussee Nov 23, 2016
51a4d1f
working! seeding from phone
brussee Nov 23, 2016
6a4e1b8
parse video port value
brussee Nov 23, 2016
2ddebf0
working! playback intent
brussee Nov 23, 2016
52f383f
remove workaround
brussee Nov 29, 2016
b5db95f
do not force play from start
brussee Dec 2, 2016
d1a1d0b
use public download dir
brussee Dec 2, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion .pylintrc
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ ignored-modules=
# List of classes names for which member attributes should not be checked
# (useful for classes with attributes dynamically set). This supports can work
# with qualified names.
ignored-classes=SQLObject,twisted.internet.reactor,ephem,libtorrent
ignored-classes=SQLObject,twisted.internet.reactor,ephem,libtorrent,sh

# List of members which are set dynamically and missed by pylint inference
# system, and so shouldn't trigger E1101 when accessed. Python regular
Expand Down
2 changes: 1 addition & 1 deletion Tribler/Core/osutils.py
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ def get_home_dir():
return os.path.realpath(unicode(os.environ['EXTERNAL_STORAGE']))

def get_appstate_dir():
return os.path.realpath(os.path.join(unicode(os.environ['ANDROID_PRIVATE']), u'../.Tribler'))
return os.path.join(get_home_dir(), u'.Tribler')

def get_picture_dir():
return os.path.join(get_home_dir(), u'DCIM')
Expand Down
2 changes: 1 addition & 1 deletion Tribler/community/tunnel/tunnel_community.py
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ def __init__(self, tribler_session=None):

self.min_circuits = 4
self.max_circuits = 8
self.max_relays_or_exits = 100
self.max_relays_or_exits = 10

self.max_time = 10 * 60
self.max_time_inactive = 20
Expand Down
281 changes: 281 additions & 0 deletions android/TriblerApp/app/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,281 @@
// Automatically increment version code by 1 each build
def Properties versionProps = new Properties()
def versionPropsFile = file('version.properties')
if (versionPropsFile.exists())
versionProps.load(new FileInputStream(versionPropsFile))
def code = (versionProps['VERSION_CODE'] ?: "0").toInteger() + 1
versionProps['VERSION_CODE'] = code.toString()
versionProps.store(versionPropsFile.newWriter(), null)

// Gradle experimental format
apply plugin: 'com.android.model.application'
//apply plugin: 'com.android.library'
//apply plugin: 'com.jakewharton.butterknife'

model {
android {
// Use latest and greatest version
buildToolsVersion "25.0.0"
compileSdkVersion 24

defaultConfig {
applicationId "org.tribler.android"
// Android Beam supports large payload transfers
// over Bluetooth since api level 16
// Dynamic linker works properly since api level 18
minSdkVersion.apiLevel 18
// Compatible up to api level 23
// Avoid new strict file security measures of api level 24
targetSdkVersion.apiLevel 23
// Auto increment, see above
versionCode code
// Used for python files versioning
versionName "build " + code
// Backwards compatibility for vector graphics
vectorDrawables.useSupportLibrary = true
// Java 8 features
jackOptions {
enabled = true
}
// Gradle experimental create build
buildConfigFields {
create() {
type "int"
name "VALUE"
value "1"
}
}
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
// NDK config mirrors python-for-android toolchain config
ndk {
abiFilters.add("armeabi-v7a")
moduleName = "main"
toolchain = "gcc"
toolchainVersion = "4.9"
platformVersion = 18
stl = "gnustl_shared"
renderscriptNdkMode = false
CFlags.add("-I" + file("src/main/jni/include/python2.7"))
ldFlags.add("-L" + file("src/main/jni/lib"))
ldLibs.addAll(["log", "python2.7"])
}
// Configures source set directory.
sources {
main {
// All native code is already compiled and in jniLibs
// start.c and pyjniusjni.c are still required for jni
jni {
source {
exclude "**/winsock_pointers.c"
exclude "**/iocpsupport.c"
exclude "**/portmap.c"
}
}
// References prebuilt libraries defined below
jniLibs {
dependencies {
library "gnustl_shared"
library "boost_system"
library "boost_date_time"
library "boost_python"
library "crypto"
library "ssl"
library "ffi"
library "sodium"
library "torrent_rasterbar"
library "leveldb"
library "sqlite3"
/*/ VLC
library "cpp_shared"
library "anw10"
library "anw13"
library "anw14"
library "anw18"
library "anw21"
library "compat7"
library "iomx10"
library "iomx13"
library "iomx14"
library "vlc"
library "vlc_jni"*/
}
}
}
}
}
repositories {
// Prebuilt with python-for-android toolchain
libs(PrebuiltLibraries) {
gnustl_shared {
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("src/main/jniLibs/armeabi-v7a/libgnustl_shared.so")
}
}
boost_date_time {
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("src/main/jniLibs/armeabi-v7a/libboost_date_time.so")
}
}
boost_python {
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("src/main/jniLibs/armeabi-v7a/libboost_python.so")
}
}
boost_system {
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("src/main/jniLibs/armeabi-v7a/libboost_system.so")
}
}
crypto {
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("src/main/jniLibs/armeabi-v7a/libcrypto1.0.2h.so")
}
}
ssl {
binaries.withType(SharedLibraryBinary) {
// Android does not have regular versioning of .so files, but ships with an
// old version of openssl which prevents the loading libssl.so bundled with
// the app, therefore a custom name with version is introduced
sharedLibraryFile = file("src/main/jniLibs/armeabi-v7a/libssl1.0.2h.so")
}
}
ffi {
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("src/main/jniLibs/armeabi-v7a/libffi.so")
}
}
sodium {
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("src/main/jniLibs/armeabi-v7a/libsodium.so")
}
}
torrent_rasterbar {
binaries.withType(SharedLibraryBinary) {
// When the python bindings shared library and the native one have the same name
// it causes a cyclic dependency reference on runtime, therefore the native
// .so file was renamed to include _rasterbar
sharedLibraryFile = file("src/main/jniLibs/armeabi-v7a/libtorrent_rasterbar.so")
}
}
leveldb {
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("src/main/jniLibs/armeabi-v7a/libleveldb.so")
}
}
sqlite3 {
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("src/main/jniLibs/armeabi-v7a/libsqlite3.so")
}
}
/*/ VLC binaries
cpp_shared {
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("src/main/jniLibs/armeabi-v7a/libc++_shared.so")
}
}
anw10 {
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("src/main/jniLibs/armeabi-v7a/libanw.10.so")
}
}
anw13 {
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("src/main/jniLibs/armeabi-v7a/libanw.13.so")
}
}
anw14 {
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("src/main/jniLibs/armeabi-v7a/libanw.14.so")
}
}
anw18 {
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("src/main/jniLibs/armeabi-v7a/libanw.18.so")
}
}
anw21 {
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("src/main/jniLibs/armeabi-v7a/libanw.21.so")
}
}
compat7 {
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("src/main/jniLibs/armeabi-v7a/libcompat.7.so")
}
}
iomx10 {
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("src/main/jniLibs/armeabi-v7a/libiomx.10.so")
}
}
iomx13 {
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("src/main/jniLibs/armeabi-v7a/libiomx.13.so")
}
}
iomx14 {
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("src/main/jniLibs/armeabi-v7a/libiomx.14.so")
}
}
vlc {
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("src/main/jniLibs/armeabi-v7a/libvlc.so")
}
}
vlc_jni {
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("src/main/jniLibs/armeabi-v7a/libvlcjni.so")
}
}*/
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile fileTree(include: ['*.jar'], dir: 'jniLibs')

compile 'com.android.support:support-v4:24.2.1'
compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.android.support:design:24.2.1'
compile 'com.android.support:recyclerview-v7:24.2.1'
compile 'com.android.support:cardview-v7:24.2.1'

compile 'com.google.code.gson:gson:2.7'
compile 'xyz.danoz:recyclerviewfastscroller:0.1.3'
compile 'com.github.medyo:fancybuttons:1.8.2'
compile 'com.jakewharton:butterknife:8.4.0'

compile 'io.reactivex:rxandroid:1.2.1'
compile 'io.reactivex:rxjava:1.2.2'
compile 'com.cantrowitz:rxbroadcast:1.0.0'
compile 'com.jakewharton.rxbinding:rxbinding:0.4.0'
compile 'com.jakewharton.rxbinding:rxbinding-support-v4:0.4.0'
compile 'com.jakewharton.rxbinding:rxbinding-appcompat-v7:0.4.0'
compile 'com.jakewharton.rxbinding:rxbinding-design:0.4.0'
compile 'com.jakewharton.rxbinding:rxbinding-recyclerview-v7:0.4.0'

compile 'com.squareup.okhttp3:okhttp:3.4.2'
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'

annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'

//DEBUG
compile 'com.facebook.stetho:stetho:1.4.1'
compile 'com.facebook.stetho:stetho-okhttp3:1.4.1'
compile 'com.squareup.leakcanary:leakcanary-android:1.5'
//compile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'

androidTestCompile 'com.android.support:support-annotations:24.2.1'
androidTestCompile 'com.android.support.test:runner:0.5'
androidTestCompile 'com.android.support.test:rules:0.5'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'

testCompile 'junit:junit:4.12'
testCompile 'com.squareup.okhttp3:mockwebserver:3.4.2'
testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
}
17 changes: 17 additions & 0 deletions android/TriblerApp/app/proguard-rules.pro
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in /home/paul/android-sdk-linux/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
# http:https://developer.android.com/guide/developing/tools/proguard.html

# Add any project specific keep options here:

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package org.tribler.android;

import android.app.Application;
import android.test.ApplicationTestCase;

/**
* <a href="http:https://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a>
*/
public class ApplicationTest extends ApplicationTestCase<Application> {
public ApplicationTest() {
super(Application.class);
}
}