Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
TA
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Amsal Situmorang
TA
Commits
16b6a9ee
Commit
16b6a9ee
authored
Apr 04, 2020
by
Amsal Situmorang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
prasidang
parent
037b9250
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
247 additions
and
57 deletions
+247
-57
vcs.xml
.idea/vcs.xml
+7
-0
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+6
-1
AppAdapter.java
...rc/main/java/com/example/tad3ti03/Adapter/AppAdapter.java
+2
-20
MainActivity.java
app/src/main/java/com/example/tad3ti03/MainActivity.java
+4
-4
AppInfo.java
app/src/main/java/com/example/tad3ti03/Model/AppInfo.java
+35
-1
UploadActivity.java
app/src/main/java/com/example/tad3ti03/UploadActivity.java
+17
-18
UploadResultActivity.java
.../main/java/com/example/tad3ti03/UploadResultActivity.java
+20
-0
activity_main.xml
app/src/main/res/layout/activity_main.xml
+4
-4
activity_scan.xml
app/src/main/res/layout/activity_scan.xml
+9
-3
activity_upload.xml
app/src/main/res/layout/activity_upload.xml
+1
-1
activity_upload_result.xml
app/src/main/res/layout/activity_upload_result.xml
+115
-3
app_layout.xml
app/src/main/res/layout/app_layout.xml
+21
-2
colors.xml
app/src/main/res/values/colors.xml
+1
-0
strings.xml
app/src/main/res/values/strings.xml
+5
-0
No files found.
.idea/vcs.xml
0 → 100644
View file @
16b6a9ee
<?xml version="1.0" encoding="UTF-8"?>
<project
version=
"4"
>
<component
name=
"VcsDirectoryMappings"
>
<mapping
directory=
"$PROJECT_DIR$"
vcs=
"Git"
/>
</component>
</project>
\ No newline at end of file
app/src/main/AndroidManifest.xml
View file @
16b6a9ee
...
...
@@ -9,13 +9,17 @@
android:roundIcon=
"@mipmap/ic_launcher_round"
android:supportsRtl=
"true"
android:theme=
"@style/AppTheme"
>
<activity
android:name=
".MainActivity"
>
<activity
android:name=
".UploadResultActivity"
></activity>
<activity
android:name=
".ScanActivity"
>
</activity>
<activity
android:name=
".MainActivity"
>
<intent-filter>
<action
android:name=
"android.intent.action.MAIN"
/>
<category
android:name=
"android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
<activity
android:name=
".UploadActivity"
></activity>
</application>
</manifest>
\ No newline at end of file
app/src/main/java/com/example/tad3ti03/Adapter/AppAdapter.java
View file @
16b6a9ee
...
...
@@ -29,7 +29,7 @@ public class AppAdapter extends ArrayAdapter<AppInfo>
List
<
AppInfo
>
apps
;
public
AppAdapter
(
@NonNull
Context
context
,
List
<
AppInfo
>
apps
)
{
super
(
context
,
R
.
layout
.
app_
item_
layout
,
apps
);
super
(
context
,
R
.
layout
.
app_layout
,
apps
);
layoutInflater
=
LayoutInflater
.
from
(
context
);
packageManager
=
context
.
getPackageManager
();
this
.
apps
=
apps
;
...
...
@@ -42,29 +42,11 @@ public class AppAdapter extends ArrayAdapter<AppInfo>
View
view
=
convertView
;
if
(
view
==
null
)
{
view
=
layoutInflater
.
inflate
(
R
.
layout
.
app_
item_
layout
,
parent
,
false
);
view
=
layoutInflater
.
inflate
(
R
.
layout
.
app_layout
,
parent
,
false
);
}
TextView
textViewTitle
=
(
TextView
)
view
.
findViewById
(
R
.
id
.
titleTextView
);
textViewTitle
.
setText
(
current
.
label
);
try
{
PackageInfo
packageInfo
=
packageManager
.
getPackageInfo
(
current
.
info
.
packageName
,
0
);
if
(!
TextUtils
.
isEmpty
(
packageInfo
.
versionName
))
{
String
versionInfo
=
String
.
format
(
"%s"
,
packageInfo
.
versionName
);
TextView
textVersion
=
(
TextView
)
view
.
findViewById
(
R
.
id
.
versionId
);
textVersion
.
setText
(
versionInfo
);
}
if
(!
TextUtils
.
isEmpty
(
current
.
info
.
packageName
))
{
TextView
textSubTitle
=
(
TextView
)
view
.
findViewById
(
R
.
id
.
subTitle
);
textSubTitle
.
setText
(
current
.
info
.
packageName
);
}
}
catch
(
PackageManager
.
NameNotFoundException
e
)
{
e
.
printStackTrace
();
}
ImageView
imageView
=
(
ImageView
)
view
.
findViewById
(
R
.
id
.
icon_image
);
Drawable
background
=
current
.
info
.
loadIcon
(
packageManager
);
imageView
.
setBackgroundDrawable
(
background
);
...
...
app/src/main/java/com/example/tad3ti03/MainActivity.java
View file @
16b6a9ee
...
...
@@ -7,7 +7,7 @@ import android.os.Bundle;
import
android.view.View
;
import
android.widget.Button
;
public
class
Home
Activity
extends
AppCompatActivity
implements
View
.
OnClickListener
{
public
class
Main
Activity
extends
AppCompatActivity
implements
View
.
OnClickListener
{
Button
btn_upload
;
Button
btn_scan
;
...
...
@@ -15,7 +15,7 @@ public class HomeActivity extends AppCompatActivity implements View.OnClickListe
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
activity_
home
);
setContentView
(
R
.
layout
.
activity_
main
);
btn_upload
=
findViewById
(
R
.
id
.
btn_upload
);
btn_scan
=
findViewById
(
R
.
id
.
btn_scan
);
...
...
@@ -29,11 +29,11 @@ public class HomeActivity extends AppCompatActivity implements View.OnClickListe
public
void
onClick
(
View
v
)
{
switch
(
v
.
getId
()){
case
R
.
id
.
btn_upload
:
Intent
uploadIntent
=
new
Intent
(
HomeActivity
.
this
,
Main
Activity
.
class
);
Intent
uploadIntent
=
new
Intent
(
MainActivity
.
this
,
Upload
Activity
.
class
);
startActivity
(
uploadIntent
);
break
;
case
R
.
id
.
btn_scan
:
Intent
scanIntent
=
new
Intent
(
Home
Activity
.
this
,
ScanActivity
.
class
);
Intent
scanIntent
=
new
Intent
(
Main
Activity
.
this
,
ScanActivity
.
class
);
startActivity
(
scanIntent
);
break
;
}
...
...
app/src/main/java/com/example/tad3ti03/Model/AppInfo.java
View file @
16b6a9ee
package
com
.
example
.
tad3ti03
.
Model
;
import
android.content.pm.ApplicationInfo
;
import
android.os.Parcel
;
import
android.os.Parcelable
;
public
class
AppInfo
{
public
class
AppInfo
implements
Parcelable
{
public
ApplicationInfo
info
;
public
String
label
;
public
AppInfo
(
Parcel
in
)
{
info
=
in
.
readParcelable
(
ApplicationInfo
.
class
.
getClassLoader
());
label
=
in
.
readString
();
}
public
static
final
Creator
<
AppInfo
>
CREATOR
=
new
Creator
<
AppInfo
>()
{
@Override
public
AppInfo
createFromParcel
(
Parcel
in
)
{
return
new
AppInfo
(
in
);
}
@Override
public
AppInfo
[]
newArray
(
int
size
)
{
return
new
AppInfo
[
size
];
}
};
public
AppInfo
()
{
}
@Override
public
int
describeContents
()
{
return
0
;
}
@Override
public
void
writeToParcel
(
Parcel
dest
,
int
flags
)
{
dest
.
writeParcelable
(
info
,
flags
);
dest
.
writeString
(
label
);
}
}
app/src/main/java/com/example/tad3ti03/UploadActivity.java
View file @
16b6a9ee
package
com
.
example
.
tad3ti03
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.swiperefreshlayout.widget.SwipeRefreshLayout
;
import
android.content.Intent
;
import
android.content.pm.ApplicationInfo
;
import
android.content.pm.PackageManager
;
import
android.os.AsyncTask
;
import
android.os.Bundle
;
import
android.os.Parcelable
;
import
android.view.View
;
import
android.widget.AdapterView
;
import
android.widget.GridView
;
import
android.widget.ListView
;
import
android.widget.Toast
;
import
androidx.appcompat.widget.Toolbar
;
import
com.example.tad3ti03.Adapter.AppAdapter
;
import
com.example.tad3ti03.Model.AppInfo
;
import
com.google.android.material.snackbar.Snackbar
;
import
java.io.Serializable
;
import
java.text.Collator
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.Comparator
;
import
java.util.List
;
public
class
Main
Activity
extends
AppCompatActivity
{
public
class
Upload
Activity
extends
AppCompatActivity
{
GridView
gridView
;
boolean
mIncludeSystemApps
;
...
...
@@ -33,7 +30,7 @@ public class MainActivity extends AppCompatActivity {
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
activity_
main
);
setContentView
(
R
.
layout
.
activity_
upload
);
gridView
=
findViewById
(
R
.
id
.
griview
);
gridView
.
setTextFilterEnabled
(
true
);
...
...
@@ -42,16 +39,18 @@ public class MainActivity extends AppCompatActivity {
@Override
public
void
onItemClick
(
AdapterView
<?>
parent
,
View
view
,
int
position
,
long
id
)
{
AppInfo
app
=
(
AppInfo
)
parent
.
getItemAtPosition
(
position
);
Intent
myintent
=
getPackageManager
().
getLaunchIntentForPackage
(
app
.
info
.
packageName
);
if
(
myintent
==
null
)
{
Toast
.
makeText
(
getApplicationContext
()
,
"No launcher attached with this app"
,
Toast
.
LENGTH_LONG
).
show
();
}
else
{
startActivity
(
myintent
);
}
// Intent myintent = getPackageManager().getLaunchIntentForPackage(app.info.packageName);
Intent
uploadIntent
=
new
Intent
(
UploadActivity
.
this
,
UploadResultActivity
.
class
);
uploadIntent
.
putExtra
(
"AppInfo"
,
app
);
startActivity
(
uploadIntent
);
// if(myintent == null)
// {
// Toast.makeText(getApplicationContext() , "No launcher attached with this app", Toast.LENGTH_LONG).show();
// }
// else
// {
// startActivity(myintent);
// }
}
});
...
...
@@ -74,7 +73,7 @@ public class MainActivity extends AppCompatActivity {
//sort the data
Collections
.
sort
(
apps
,
new
DNComparator
());
gridView
.
setAdapter
(
new
AppAdapter
(
Main
Activity
.
this
,
apps
));
gridView
.
setAdapter
(
new
AppAdapter
(
Upload
Activity
.
this
,
apps
));
}
...
...
app/src/main/java/com/example/tad3ti03/UploadResultActivity.java
View file @
16b6a9ee
...
...
@@ -2,13 +2,33 @@ package com.example.tad3ti03;
import
androidx.appcompat.app.AppCompatActivity
;
import
android.content.pm.PackageManager
;
import
android.graphics.drawable.Drawable
;
import
android.os.Bundle
;
import
android.widget.ImageView
;
import
android.widget.TextView
;
import
com.example.tad3ti03.Model.AppInfo
;
public
class
UploadResultActivity
extends
AppCompatActivity
{
TextView
namaApk
;
TextView
malware
;
TextView
Status
;
ImageView
imageView
;
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
activity_upload_result
);
AppInfo
app
=
(
AppInfo
)
getIntent
().
getParcelableExtra
(
"AppInfo"
);
PackageManager
packageManager
=
getPackageManager
();
namaApk
=
findViewById
(
R
.
id
.
apkNameTextView
);
namaApk
.
setText
(
app
.
label
);
imageView
=
findViewById
(
R
.
id
.
icon_image
);
Drawable
background
=
app
.
info
.
loadIcon
(
packageManager
);
imageView
.
setBackgroundDrawable
(
background
);
}
}
app/src/main/res/layout/activity_main.xml
View file @
16b6a9ee
...
...
@@ -6,13 +6,13 @@
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:gravity=
"center"
tools:context=
".
Home
Activity"
>
tools:context=
".
Main
Activity"
>
<Button
android:id=
"@+id/btn_upload"
android:layout_height=
"
60dp
"
android:layout_width=
"
200dp
"
android:layout_height=
"
wrap_content
"
android:layout_width=
"
wrap_content
"
android:drawableLeft=
"@drawable/ic_file_upload_black_24dp"
android:text=
"Scan My apps"
android:textSize=
"20sp"
...
...
@@ -25,7 +25,7 @@
<Button
android:id=
"@+id/btn_scan"
android:layout_height=
"
60dp
"
android:layout_height=
"
wrap_content
"
android:layout_width=
"wrap_content"
android:drawableLeft=
"@drawable/ic_file_upload_black_24dp"
android:text=
"Scan My Phone"
...
...
app/src/main/res/layout/activity_scan.xml
View file @
16b6a9ee
<?xml version="1.0" encoding="utf-8"?>
<
androidx.constraintlayout.widget.Constraint
Layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<
Linear
Layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:gravity=
"center"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
tools:context=
".ScanActivity"
>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Coming soon !"
/>
</LinearLayout>
\ No newline at end of file
app/src/main/res/layout/activity_upload.xml
View file @
16b6a9ee
...
...
@@ -4,7 +4,7 @@
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
tools:context=
".
Main
Activity"
>
tools:context=
".
Upload
Activity"
>
<GridView
android:id=
"@+id/griview"
...
...
app/src/main/res/layout/activity_upload_result.xml
View file @
16b6a9ee
<?xml version="1.0" encoding="utf-8"?>
<
androidx.constraintlayout.widget.Constraint
Layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<
Linear
Layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
tools:context=
".UploadResultActivity"
>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<TextView
android:textStyle=
"bold"
android:textSize=
"40dp"
android:textAlignment=
"center"
android:text=
"Hasil Analisis Apk"
android:paddingBottom=
"20dp"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
/>
<ImageView
android:layout_width=
"160dp"
android:layout_height=
"160dp"
android:layout_marginLeft=
"110dp"
android:layout_marginRight=
"4dp"
android:id=
"@+id/icon_image"
/>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"40dp"
android:layout_marginLeft=
"4dp"
android:layout_marginRight=
"4dp"
android:orientation=
"vertical"
>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:orientation=
"horizontal"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textSize=
"20dp"
android:textStyle=
"bold"
android:text=
"Nama Aplikasi :"
/>
<Space
android:layout_width=
"4dp"
android:layout_height=
"0dp"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"-"
android:id=
"@+id/apkNameTextView"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"40dp"
android:layout_marginLeft=
"4dp"
android:layout_marginRight=
"4dp"
android:orientation=
"vertical"
>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:orientation=
"horizontal"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textSize=
"20dp"
android:textStyle=
"bold"
android:text=
"Status : "
/>
<Space
android:layout_width=
"4dp"
android:layout_height=
"0dp"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"-"
android:id=
"@+id/statusTextView"
/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"40dp"
android:layout_marginLeft=
"4dp"
android:layout_marginRight=
"4dp"
android:orientation=
"vertical"
>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:orientation=
"horizontal"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textSize=
"20dp"
android:textStyle=
"bold"
android:text=
"Malware : "
/>
<Space
android:layout_width=
"4dp"
android:layout_height=
"0dp"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"-"
android:id=
"@+id/malwareTextView"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
app/src/main/res/layout/app_layout.xml
View file @
16b6a9ee
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:orientation=
"vertical"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:padding=
"8dp"
android:layout_marginBottom=
"10dp"
android:gravity=
"center"
android:orientation=
"vertical"
>
<ImageView
android:id=
"@+id/icon_image"
android:layout_width=
"60dp"
android:layout_height=
"60dp"
/>
<TextView
android:id=
"@+id/titleTextView"
android:gravity=
"center"
android:textSize=
"8sp"
android:textStyle=
"bold"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
/>
</LinearLayout>
\ No newline at end of file
app/src/main/res/values/colors.xml
View file @
16b6a9ee
...
...
@@ -3,4 +3,5 @@
<color
name=
"colorPrimary"
>
#008577
</color>
<color
name=
"colorPrimaryDark"
>
#00574B
</color>
<color
name=
"colorAccent"
>
#D81B60
</color>
<color
name=
"colorText"
>
#ffffff
</color>
</resources>
app/src/main/res/values/strings.xml
View file @
16b6a9ee
<resources>
<string
name=
"app_name"
>
TAD3TI03
</string>
<string
name=
"file_name"
>
Nama File
</string>
<string
name=
"button_upload"
>
Upload APK
</string>
<string
name=
"button_scan"
>
Scan APK
</string>
<string
name=
"scan_name"
>
Scan The Phone
</string>
<string
name=
"button_scanPhone"
>
Scan My Phone
</string>
</resources>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment