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
5 years ago
by
Amsal Situmorang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
prasidang
parent
037b9250
Show 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
This diff is collapsed.
Click to expand it.
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
This diff is collapsed.
Click to expand it.
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
);
...
...
This diff is collapsed.
Click to expand it.
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
;
}
...
...
This diff is collapsed.
Click to expand it.
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
);
}
}
This diff is collapsed.
Click to expand it.
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
));
}
...
...
This diff is collapsed.
Click to expand it.
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
);
}
}
This diff is collapsed.
Click to expand it.
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"
...
...
This diff is collapsed.
Click to expand it.
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
This diff is collapsed.
Click to expand it.
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"
...
...
This diff is collapsed.
Click to expand it.
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
This diff is collapsed.
Click to expand it.
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
This diff is collapsed.
Click to expand it.
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>
This diff is collapsed.
Click to expand it.
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>
This diff is collapsed.
Click to expand it.
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