V1.0.3(7)
This commit is contained in:
parent
67b9cee3c3
commit
5a133e40d5
@ -18,8 +18,8 @@ android {
|
||||
applicationId = "com.soft.ware.lock.hd"
|
||||
minSdk = 23
|
||||
targetSdk = 34
|
||||
versionCode = 6
|
||||
versionName = "1.0.2"
|
||||
versionCode = 7
|
||||
versionName = "1.0.3"
|
||||
setProperty(
|
||||
"archivesBaseName",
|
||||
"SoftWare Lock_v" + versionName + "(${versionCode})_$timestamp"
|
||||
|
||||
6
app/info
6
app/info
@ -1,6 +0,0 @@
|
||||
包名:com.soft.ware.lock.hd
|
||||
应用名:SoftWare Lock
|
||||
签名文件:SoftWare Lock.jks
|
||||
签名路径:app/SoftWare Lock.jks
|
||||
别名:SoftWare Lockkey0
|
||||
密码:SoftWare Lock
|
||||
@ -1,20 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"artifactType": {
|
||||
"type": "APK",
|
||||
"kind": "Directory"
|
||||
},
|
||||
"applicationId": "com.soft.ware.lock.hd",
|
||||
"variantName": "release",
|
||||
"elements": [
|
||||
{
|
||||
"type": "SINGLE",
|
||||
"filters": [],
|
||||
"attributes": [],
|
||||
"versionCode": 5,
|
||||
"versionName": "1.0.1",
|
||||
"outputFile": "SoftWare Lock_v1.0.1(5)_07_26_18_05-release.apk"
|
||||
}
|
||||
],
|
||||
"elementType": "File"
|
||||
}
|
||||
Binary file not shown.
@ -33,6 +33,9 @@
|
||||
<activity
|
||||
android:name=".activity.SettingActivity"
|
||||
android:exported="false" />
|
||||
<activity
|
||||
android:name=".activity.PrivacyActivity"
|
||||
android:exported="false" />
|
||||
<activity
|
||||
android:name=".activity.KeyWordActivity"
|
||||
android:exported="false"
|
||||
@ -40,6 +43,7 @@
|
||||
<activity
|
||||
android:name=".activity.MainActivity"
|
||||
android:exported="false"
|
||||
android:windowSoftInputMode="stateAlwaysHidden"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.IntoActivity"
|
||||
|
||||
77
app/src/main/assets/SoftWare_Lock_privacy.html
Normal file
77
app/src/main/assets/SoftWare_Lock_privacy.html
Normal file
@ -0,0 +1,77 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Privacy Policy</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: Arial, sans-serif;
|
||||
line-height: 1.6;
|
||||
margin: 20px;
|
||||
}
|
||||
h1, h2 {
|
||||
color: #333;
|
||||
}
|
||||
h2 {
|
||||
margin-top: 20px;
|
||||
}
|
||||
p {
|
||||
margin: 10px 0;
|
||||
}
|
||||
ul {
|
||||
margin: 10px 0;
|
||||
padding-left: 20px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Privacy Policy</h1>
|
||||
<p>We provide this Privacy Policy to help you understand how we collect, use, and disclose information, including what you may provide to us or that we obtain from our products and services. We treat your privacy very seriously. Your privacy is important to us.</p>
|
||||
|
||||
<h2>Information Collection and Use</h2>
|
||||
<p>For a better experience, while using our Service, we may require you to provide us with certain personally identifiable information such as users' name, address, location, pictures. The information that we request will be retained on your device and is not collected by us in any way retained by us and used as described in this privacy policy.</p>
|
||||
<p>The app does use third-party services that may collect information used to identify you.</p>
|
||||
<p>Please refer to the privacy policy of the third-party service provider used by the application:</p>
|
||||
<ul>
|
||||
<li>Google Play Services</li>
|
||||
<li>Google Analytics for Firebase</li>
|
||||
<li>Firebase Crashlytics</li>
|
||||
<li>Unity</li>
|
||||
<li>AppLovin</li>
|
||||
<li>Vungle</li>
|
||||
</ul>
|
||||
|
||||
<h2>Log Data</h2>
|
||||
<p>We want to inform you that whenever you use our Service, in the case of an error in the app, we collect data and information (through third-party products) on your phone called Log Data. This Log Data may include information such as your device Internet Protocol (“IP”) address, device name, operating system version, the configuration of the app when utilizing our Service, the time and date of your use of the Service, and other statistics.</p>
|
||||
|
||||
<h2>Cookies</h2>
|
||||
<p>Cookies are files with a small amount of data that are commonly used as anonymous unique identifiers. These are sent to your browser from the websites that you visit and are stored on your device's internal memory. This Service does not use these “cookies” explicitly. However, the app may use third-party code and libraries that use “cookies” to collect information and improve their services. You have the option to either accept or refuse these cookies and know when a cookie is being sent to your device. If you choose to refuse our cookies, you may not be able to use some portions of this Service.</p>
|
||||
|
||||
<h2>Service Providers</h2>
|
||||
<p>We may employ third-party companies and individuals due to the following reasons:</p>
|
||||
<ul>
|
||||
<li>To facilitate our Service;</li>
|
||||
<li>To provide the Service on our behalf;</li>
|
||||
<li>To perform Service-related services; or</li>
|
||||
<li>To assist us in analyzing how our Service is used.</li>
|
||||
</ul>
|
||||
<p>We want to inform users of this Service that these third parties have access to their Personal Information. The reason is to perform the tasks assigned to them on our behalf. However, they are obligated not to disclose or use the information for any other purpose.</p>
|
||||
|
||||
<h2>Security</h2>
|
||||
<p>We value your trust in providing us your Personal Information, thus we are striving to use commercially acceptable means of protecting it. But remember that no method of transmission over the internet, or method of electronic storage is 100% secure and reliable, and we cannot guarantee its absolute security.</p>
|
||||
|
||||
<h2>Links to Other Sites</h2>
|
||||
<p>This Service may contain links to other sites. If you click on a third-party link, you will be directed to that site. Note that these external sites are not operated by us. Therefore, we strongly advise you to review the Privacy Policy of these websites. We have no control over and assume no responsibility for the content, privacy policies, or practices of any third-party sites or services.</p>
|
||||
|
||||
<h2>Children’s Privacy</h2>
|
||||
<p>These Services do not address anyone under the age of 13. We do not knowingly collect personally identifiable information from children under 13 years of age. In the case we discover that a child under 13 has provided us with personal information, we immediately delete this from our servers. If you are a parent or guardian and you are aware that your child has provided us with personal information, please contact us so that we will be able to take the necessary actions.</p>
|
||||
|
||||
<h2>Changes to This Privacy Policy</h2>
|
||||
<p>We may update our Privacy Policy from time to time. Thus, you are advised to review this page periodically for any changes. We will notify you of any changes by posting the new Privacy Policy on this page.</p>
|
||||
|
||||
<h2>Privacy Questions</h2>
|
||||
<p>We may update our Privacy Policy from time to time. When we change the policy in a material way, a notice will be posted on our website along with the updated Privacy Policy.</p>
|
||||
<p>If you have any questions or concerns about our Privacy Policy or data processing, please contact us: <a href="mailto:amithchamara832@gmail.com">amithchamara832@gmail.com</a>.</p>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,86 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Privacy Policy</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: Arial, sans-serif;
|
||||
line-height: 1.6;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
padding: 20px;
|
||||
}
|
||||
h1, h2 {
|
||||
color: #333;
|
||||
}
|
||||
h2 {
|
||||
margin-top: 20px;
|
||||
}
|
||||
p {
|
||||
margin: 10px 0;
|
||||
}
|
||||
ul {
|
||||
margin: 10px 0;
|
||||
padding-left: 20px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Privacy Policy</h1>
|
||||
<p><strong>Date:</strong> August 14, 2024</p>
|
||||
|
||||
<p>We provide this Privacy Policy to help you understand how we collect, use, and disclose information, including what you may provide to us or that we obtain from our products and services. We treat your privacy very seriously. Your privacy is important to us.</p>
|
||||
|
||||
<h2>Information Collection and Use</h2>
|
||||
<p>For a better experience, while using our Service, we may require you to provide us with certain personally identifiable information, such as users' name, address, location, pictures, etc. The information that we request will be retained on your device and is not collected or retained by us in any way and used as described in this privacy policy.</p>
|
||||
<p>The app does use third-party services that may collect information used to identify you.</p>
|
||||
<p>Please refer to the privacy policy of the third-party service provider used by the application:</p>
|
||||
<ul>
|
||||
<li>Google Play Services</li>
|
||||
<li>Google Analytics for Firebase</li>
|
||||
<li>Firebase Crashlytics</li>
|
||||
<li>Unity</li>
|
||||
<li>AppLovin</li>
|
||||
<li>Pangle</li>
|
||||
<li>Mintegral</li>
|
||||
<li>Bigo</li>
|
||||
<li>Ironsource</li>
|
||||
<li>Vungle</li>
|
||||
</ul>
|
||||
|
||||
<h2>Log Data</h2>
|
||||
<p>We want to inform you that whenever you use our Service, in case of an error in the app, we collect data and information (through third-party products) on your phone called Log Data. This Log Data may include information such as your device Internet Protocol (“IP”) address, device name, operating system version, the configuration of the app when utilizing our Service, the time and date of your use of the Service, and other statistics.</p>
|
||||
|
||||
<h2>Cookies</h2>
|
||||
<p>Cookies are files with a small amount of data that are commonly used as anonymous unique identifiers. These are sent to your browser from the websites that you visit and are stored on your device's internal memory.</p>
|
||||
<p>This Service does not use these “cookies” explicitly. However, the app may use third-party code and libraries that use “cookies” to collect information and improve their services. You have the option to either accept or refuse these cookies and know when a cookie is being sent to your device. If you choose to refuse our cookies, you may not be able to use some portions of this Service.</p>
|
||||
|
||||
<h2>Service Providers</h2>
|
||||
<p>We may employ third-party companies and individuals due to the following reasons:</p>
|
||||
<ul>
|
||||
<li>To facilitate our Service</li>
|
||||
<li>To provide the Service on our behalf</li>
|
||||
<li>To perform Service-related services, or</li>
|
||||
<li>To assist us in analyzing how our Service is used</li>
|
||||
</ul>
|
||||
<p>We want to inform users of this Service that these third parties have access to their Personal Information. The reason is to perform the tasks assigned to them on our behalf. However, they are obligated not to disclose or use the information for any other purpose.</p>
|
||||
|
||||
<h2>Security</h2>
|
||||
<p>We value your trust in providing us your Personal Information, thus we are striving to use commercially acceptable means of protecting it. But remember that no method of transmission over the internet, or method of electronic storage is 100% secure and reliable, and we cannot guarantee its absolute security.</p>
|
||||
|
||||
<h2>Links to Other Sites</h2>
|
||||
<p>This Service may contain links to other sites. If you click on a third-party link, you will be directed to that site. Note that these external sites are not operated by us. Therefore, we strongly advise you to review the Privacy Policy of these websites. We have no control over and assume no responsibility for the content, privacy policies, or practices of any third-party sites or services.</p>
|
||||
|
||||
<h2>Children’s Privacy</h2>
|
||||
<p>These Services do not address anyone under the age of 13. We do not knowingly collect personally identifiable information from children under 13 years of age. In the case we discover that a child under 13 has provided us with personal information, we will immediately delete this from our servers. If you are a parent or guardian and you are aware that your child has provided us with personal information, please contact us so that we will be able to take the necessary actions.</p>
|
||||
|
||||
<h2>Changes to This Privacy Policy</h2>
|
||||
<p>We may update our Privacy Policy from time to time. Thus, you are advised to review this page periodically for any changes. We will notify you of any changes by posting the new Privacy Policy on this page.</p>
|
||||
|
||||
<h2>Privacy Questions</h2>
|
||||
<p>We may update the Privacy Policy from time to time. When we change the policy in a material way, a notice will be posted on our website along with the updated Privacy Policy.</p>
|
||||
<p>If you have any questions or concerns about our Privacy Policy or data processing, please contact us: <a href="mailto:saleemjeeta2@gmail.com">saleemjeeta2@gmail.com</a>.</p>
|
||||
</body>
|
||||
</html>
|
||||
@ -12,6 +12,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.example.applock.R;
|
||||
import com.example.applock.application.SoftWareLockApplication;
|
||||
import com.example.applock.click.ButtomKeyClick;
|
||||
import com.example.applock.listener.InputKeyListener;
|
||||
import com.example.applock.lockadapter.ButtomAdapter;
|
||||
@ -62,10 +63,10 @@ public class InPutKeyView extends FrameLayout {
|
||||
public void OnKeyClick(String bottomkey) {
|
||||
if (my_top_key.length() >= keylength) {
|
||||
my_top_key.delete(0, my_top_key.length());
|
||||
Log.d("dhn","-------fin"+my_top_key.length());
|
||||
Log.d(SoftWareLockApplication.TAG,"-------fin"+my_top_key.length());
|
||||
}
|
||||
my_top_key.append(bottomkey);
|
||||
Log.d("dhn","-------fin"+my_top_key.length());
|
||||
Log.d(SoftWareLockApplication.TAG,"-------fin"+my_top_key.length());
|
||||
topAdapter.updateItem(my_top_key.toString());
|
||||
if (my_top_key.length() == keylength) {
|
||||
inputKeyListener.onInputComplete(my_top_key.toString());
|
||||
|
||||
@ -30,9 +30,10 @@ public class IntoActivity extends AppCompatActivity {
|
||||
private CountDownTimer countDownTimer;
|
||||
private List<ATInterstitial> ads;
|
||||
private boolean isAlreadyShow = false;
|
||||
private float i = 0;
|
||||
private AppEntity entity;
|
||||
private CustomProgressBar customProgressBar;
|
||||
|
||||
private long countTime = 13100;
|
||||
private String lockpackname = MyAllValues.softWareLockApplication.getPackageName();
|
||||
|
||||
@SuppressLint("MissingInflatedId")
|
||||
@ -44,11 +45,12 @@ public class IntoActivity extends AppCompatActivity {
|
||||
customProgressBar = findViewById(R.id.splash_pg);
|
||||
ads = SoftWareLockApplication.lodAd();
|
||||
|
||||
countDownTimer = new CountDownTimer(10100, 100) {
|
||||
countDownTimer = new CountDownTimer(countTime, 100) {
|
||||
@Override
|
||||
public void onTick(long millisUntilFinished) {
|
||||
i++;
|
||||
customProgressBar.setProgress(i);
|
||||
float percentage = 100 - (float)millisUntilFinished / countTime * 100;
|
||||
int round = (int)percentage;
|
||||
customProgressBar.setProgress(round);
|
||||
if (!isAlreadyShow) {
|
||||
showAd(false);
|
||||
}
|
||||
@ -61,7 +63,7 @@ public class IntoActivity extends AppCompatActivity {
|
||||
}
|
||||
}
|
||||
};
|
||||
gocount();
|
||||
countDownTimer.start();
|
||||
}
|
||||
|
||||
|
||||
@ -92,12 +94,6 @@ public class IntoActivity extends AppCompatActivity {
|
||||
});
|
||||
mInterstitialAd.show(this);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void gocount() {
|
||||
countDownTimer.start();
|
||||
}
|
||||
|
||||
public void intoActivity() {
|
||||
|
||||
@ -47,6 +47,7 @@ public class KeyWordActivity extends AppCompatActivity {
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
MyKeyPage = getIntent().getIntExtra(MyAllValues.PASS_KEY_WORD, 0);
|
||||
Mytool.getAllAd();
|
||||
setContentView(R.layout.activity_key_word);
|
||||
ads = SoftWareLockApplication.lodAd();
|
||||
text_page = findViewById(R.id.text_page);
|
||||
@ -179,11 +180,7 @@ public class KeyWordActivity extends AppCompatActivity {
|
||||
});
|
||||
}
|
||||
|
||||
private void resetPin() {
|
||||
Datamanager.setTopKey(fistkey);
|
||||
Toast.makeText(KeyWordActivity.this, getString(R.string.reset_success), Toast.LENGTH_SHORT).show();
|
||||
showAd();
|
||||
}
|
||||
|
||||
|
||||
private void showAd() {
|
||||
ATInterstitial mInterstitialAd = Mytool.onCache(ads);
|
||||
|
||||
@ -4,6 +4,7 @@ import android.annotation.SuppressLint;
|
||||
import android.content.Intent;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
@ -19,6 +20,7 @@ import com.example.applock.R;
|
||||
import com.example.applock.allmanager.LockAction;
|
||||
import com.example.applock.allmanager.SoftLockPermission;
|
||||
import com.example.applock.allmanager.SoftWarePerssionDialog;
|
||||
import com.example.applock.application.SoftWareLockApplication;
|
||||
import com.example.applock.lockadapter.FragmentAdapter;
|
||||
import com.example.applock.roombase.SoftWareLockRoom;
|
||||
import com.example.applock.value.MyAllValues;
|
||||
@ -75,8 +77,11 @@ public class MainActivity extends AppCompatActivity implements PermissionBtnList
|
||||
getPermission();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
Log.d(SoftWareLockApplication.TAG,"======onResume");
|
||||
}
|
||||
|
||||
private void setViewPaper() {
|
||||
int tabIconColor = ContextCompat.getColor(MainActivity.this, R.color.table_unselect);
|
||||
|
||||
@ -0,0 +1,24 @@
|
||||
package com.example.applock.activity
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import com.example.applock.databinding.ActivityPrivacyBinding
|
||||
import com.example.applock.value.Mytool
|
||||
|
||||
|
||||
class PrivacyActivity : AppCompatActivity() {
|
||||
|
||||
private lateinit var vb: ActivityPrivacyBinding
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
vb = ActivityPrivacyBinding.inflate(layoutInflater)
|
||||
Mytool.getAllAd()
|
||||
setContentView(vb.root)
|
||||
vb.webView.loadUrl("file:///android_asset/SoftWare_Lock_privacy.html")
|
||||
vb.back.setOnClickListener {
|
||||
finish()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@ -40,6 +40,7 @@ public class SearchActivity extends AppCompatActivity {
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_search);
|
||||
Mytool.getAllAd();
|
||||
recycle_search = findViewById(R.id.recycle_search);
|
||||
search_text = findViewById(R.id.search_text);
|
||||
start_search = findViewById(R.id.start_search);
|
||||
|
||||
@ -17,6 +17,8 @@ import androidx.core.view.WindowInsetsCompat;
|
||||
import com.example.applock.R;
|
||||
import com.example.applock.allmanager.AppManager;
|
||||
import com.example.applock.value.MyAllValues;
|
||||
import com.example.applock.value.Mytool;
|
||||
import com.example.applock.value.onActionCallback;
|
||||
|
||||
public class SettingActivity extends AppCompatActivity {
|
||||
|
||||
@ -30,6 +32,7 @@ public class SettingActivity extends AppCompatActivity {
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_setting);
|
||||
Mytool.getAllAd();
|
||||
gotofindview();
|
||||
onMyClick();
|
||||
}
|
||||
@ -43,7 +46,7 @@ public class SettingActivity extends AppCompatActivity {
|
||||
version_text = findViewById(R.id.version_text);
|
||||
String appVersions = AppManager.getAppVersions(this);
|
||||
if (appVersions == null) {
|
||||
version_text.setText("V1.0.0");
|
||||
version_text.setText("V1.0.3");
|
||||
} else {
|
||||
String format = String.format(getString(R.string.app_lock_version), appVersions);
|
||||
version_text.setText(format);
|
||||
@ -60,6 +63,9 @@ public class SettingActivity extends AppCompatActivity {
|
||||
reset_password.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Mytool.showAd(SettingActivity.this, new onActionCallback() {
|
||||
@Override
|
||||
public void onAction() {
|
||||
Intent intent = new Intent(SettingActivity.this, KeyWordActivity.class);
|
||||
intent.putExtra(MyAllValues.PASS_KEY_FROM,2);
|
||||
intent.putExtra(MyAllValues.PASS_KEY_WORD,2);
|
||||
@ -67,6 +73,9 @@ public class SettingActivity extends AppCompatActivity {
|
||||
finish();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
app_share.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
@ -89,9 +98,7 @@ public class SettingActivity extends AppCompatActivity {
|
||||
privacy_policy.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
String path = getString(R.string.privacy);
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW);
|
||||
intent.setData(Uri.parse(path));
|
||||
Intent intent = new Intent(SettingActivity.this,PrivacyActivity.class);
|
||||
startActivity(intent);
|
||||
}
|
||||
});
|
||||
|
||||
@ -33,7 +33,7 @@ public class SoftWareLockApplication extends Application {
|
||||
public static SoftWareLockApplication app;
|
||||
private static Context context;
|
||||
public static int userOption =0;
|
||||
public static int userOption2 =0;
|
||||
public static final String TAG = "===============";
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
|
||||
@ -4,19 +4,26 @@ import android.annotation.SuppressLint;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.lifecycle.Observer;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.example.applock.R;
|
||||
import com.example.applock.allmanager.MsgDialog;
|
||||
import com.example.applock.allmanager.SoftWarePerssionDialog;
|
||||
import com.example.applock.application.SoftWareLockApplication;
|
||||
import com.example.applock.lockadapter.LockedAdapter;
|
||||
import com.example.applock.lockadapter.SystemAdapter;
|
||||
import com.example.applock.lockadapter.ThirdAdapter;
|
||||
import com.example.applock.roombase.AppDataBase;
|
||||
import com.example.applock.roombase.AppEntity;
|
||||
import com.example.applock.roombase.SoftWareLockRoom;
|
||||
import com.example.applock.value.onShowDialogCallback;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -24,6 +31,9 @@ public class LockedFragment extends Fragment {
|
||||
private RecyclerView recyclerView_locked;
|
||||
private boolean locked = true;
|
||||
private List<AppEntity> list;
|
||||
private MsgDialog msgDialog;
|
||||
private SoftWarePerssionDialog dialog;
|
||||
private boolean showDialog = false;
|
||||
@SuppressLint("MissingInflatedId")
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
@ -35,26 +45,47 @@ public class LockedFragment extends Fragment {
|
||||
return view;
|
||||
}
|
||||
|
||||
private void setRecycleLocked() {
|
||||
SoftWareLockRoom.RUNIO(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
list = AppDataBase.getDatabaseInstance().getAppEntityDao().queryApp(locked);
|
||||
getActivity().runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
LockedAdapter lockedAdapter = new LockedAdapter(getActivity(),list);
|
||||
recyclerView_locked.setAdapter(lockedAdapter);
|
||||
recyclerView_locked.setLayoutManager(new GridLayoutManager(getActivity(),1));
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
setRecycleLocked();
|
||||
Log.d(SoftWareLockApplication.TAG,"=====locked=onResume showDialog="+showDialog);
|
||||
if(showDialog){
|
||||
showDialog = false;
|
||||
if(getActivity()!= null&& msgDialog != null){
|
||||
msgDialog.show(getActivity().getSupportFragmentManager(), "");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void setRecycleLocked() {
|
||||
SystemAdapter lockedAdapter = new SystemAdapter(requireActivity());
|
||||
lockedAdapter.setOnShowDialogCallback(new onShowDialogCallback() {
|
||||
@Override
|
||||
public void onShowDialog(String msg) {
|
||||
Log.d(SoftWareLockApplication.TAG,"---lockFragemnt--onShowDialog---------------");
|
||||
msgDialog = new MsgDialog(msg);
|
||||
showDialog = true;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onShowStepDialog() {
|
||||
if (dialog == null) {
|
||||
dialog = new SoftWarePerssionDialog(requireActivity());
|
||||
}
|
||||
dialog.show(requireActivity().getSupportFragmentManager(), "");
|
||||
}
|
||||
});
|
||||
recyclerView_locked.setAdapter(lockedAdapter);
|
||||
recyclerView_locked.setLayoutManager(new GridLayoutManager(getActivity(),1));
|
||||
AppDataBase.getDatabaseInstance().getAppEntityDao().queryApp(locked).observe(getViewLifecycleOwner(), new Observer<List<AppEntity>>() {
|
||||
@Override
|
||||
public void onChanged(List<AppEntity> appEntities) {
|
||||
lockedAdapter.setData(appEntities);
|
||||
Log.d(SoftWareLockApplication.TAG,"---Locked---onChanged");
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@ -9,17 +9,23 @@ import androidx.fragment.app.Fragment;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.example.applock.R;
|
||||
import com.example.applock.allmanager.MsgDialog;
|
||||
import com.example.applock.allmanager.MyWorker;
|
||||
import com.example.applock.allmanager.SoftWarePerssionDialog;
|
||||
import com.example.applock.application.SoftWareLockApplication;
|
||||
import com.example.applock.lockadapter.SystemAdapter;
|
||||
import com.example.applock.roombase.AppDataBase;
|
||||
import com.example.applock.roombase.AppEntity;
|
||||
import com.example.applock.roombase.SoftWareLockRoom;
|
||||
import com.example.applock.value.Mytool;
|
||||
import com.example.applock.value.onShowDialogCallback;
|
||||
import com.pgl.ssdk.S;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -27,7 +33,14 @@ public class SystemFragment extends Fragment {
|
||||
|
||||
private RecyclerView recyclerView_apps;
|
||||
private List<AppEntity> list;
|
||||
private boolean system = true;
|
||||
|
||||
|
||||
public static String KEY = "IS_SYSTEM";
|
||||
|
||||
private MsgDialog msgDialog;
|
||||
private SoftWarePerssionDialog dialog;
|
||||
|
||||
private boolean showDialog = false;
|
||||
|
||||
@SuppressLint("MissingInflatedId")
|
||||
@Override
|
||||
@ -40,26 +53,62 @@ public class SystemFragment extends Fragment {
|
||||
return view;
|
||||
}
|
||||
|
||||
public static SystemFragment newInstance(boolean isSystem) {
|
||||
|
||||
Bundle args = new Bundle();
|
||||
|
||||
SystemFragment fragment = new SystemFragment();
|
||||
args.putBoolean(KEY,isSystem);
|
||||
fragment.setArguments(args);
|
||||
return fragment;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
Log.d(SoftWareLockApplication.TAG,"=====system=onResume showDialog="+showDialog);
|
||||
if(showDialog){
|
||||
showDialog = false;
|
||||
if(getActivity()!= null&& msgDialog != null){
|
||||
msgDialog.show(getActivity().getSupportFragmentManager(), "");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void setRecycleSystem() {
|
||||
SystemAdapter systemAdapter = new SystemAdapter(requireActivity());
|
||||
systemAdapter.setOnShowDialogCallback(new onShowDialogCallback() {
|
||||
@Override
|
||||
public void onShowDialog(String msg) {
|
||||
Log.d(SoftWareLockApplication.TAG,"----system onShowDialog111");
|
||||
msgDialog = new MsgDialog(msg);
|
||||
showDialog = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onShowStepDialog() {
|
||||
if (dialog == null) {
|
||||
dialog = new SoftWarePerssionDialog(requireActivity());
|
||||
}
|
||||
dialog.show(requireActivity().getSupportFragmentManager(), "");
|
||||
}
|
||||
});
|
||||
|
||||
recyclerView_apps.setAdapter(systemAdapter);
|
||||
recyclerView_apps.setLayoutManager(new GridLayoutManager(getActivity(),1));
|
||||
SoftWareLockRoom.RUNIO(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
list = AppDataBase.getDatabaseInstance().getAppEntityDao().queryApplfrom(system);
|
||||
boolean aBoolean = getArguments().getBoolean(KEY, true);
|
||||
list = AppDataBase.getDatabaseInstance().getAppEntityDao().queryApplfrom(aBoolean);
|
||||
getActivity().runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
SystemAdapter systemAdapter = new SystemAdapter(getActivity(),list);
|
||||
recyclerView_apps.setAdapter(systemAdapter);
|
||||
recyclerView_apps.setLayoutManager(new GridLayoutManager(getActivity(),1));
|
||||
systemAdapter.setData(list);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
setRecycleSystem();
|
||||
}
|
||||
}
|
||||
@ -53,9 +53,5 @@ public class ThirdFragment extends Fragment {
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
setRecycleThird();
|
||||
}
|
||||
|
||||
}
|
||||
@ -19,9 +19,9 @@ public class FragmentAdapter extends FragmentStateAdapter {
|
||||
public Fragment createFragment(int position) {
|
||||
switch (position) {
|
||||
case 0:
|
||||
return new SystemFragment();
|
||||
return SystemFragment.newInstance(true);
|
||||
case 1:
|
||||
return new ThirdFragment();
|
||||
return SystemFragment.newInstance(false);
|
||||
default:
|
||||
return new LockedFragment();
|
||||
}
|
||||
|
||||
@ -15,22 +15,34 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.example.applock.R;
|
||||
import com.example.applock.allmanager.AppManager;
|
||||
import com.example.applock.allmanager.MsgDialog;
|
||||
import com.example.applock.application.SoftWareLockApplication;
|
||||
import com.example.applock.databinding.ItemAppBinding;
|
||||
import com.example.applock.databinding.LockedAppBinding;
|
||||
import com.example.applock.roombase.AppDataBase;
|
||||
import com.example.applock.roombase.AppEntity;
|
||||
import com.example.applock.roombase.SoftWareLockRoom;
|
||||
import com.example.applock.value.Mytool;
|
||||
import com.example.applock.value.onActionCallback;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class LockedAdapter extends RecyclerView.Adapter<LockedAdapter.LockedVH> {
|
||||
private FragmentActivity mycon;
|
||||
private List<AppEntity> mylist;
|
||||
private List<AppEntity> mylist = new ArrayList<>();
|
||||
private boolean lockedapp = true;
|
||||
public LockedAdapter(FragmentActivity context,List<AppEntity> entities){
|
||||
mylist = entities;
|
||||
|
||||
public LockedAdapter(FragmentActivity context) {
|
||||
|
||||
mycon = context;
|
||||
}
|
||||
|
||||
public void setData(List<AppEntity> entities) {
|
||||
mylist = entities;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public LockedVH onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
@ -47,27 +59,49 @@ public class LockedAdapter extends RecyclerView.Adapter<LockedAdapter.LockedVH>
|
||||
if (icon != null) {
|
||||
holder.lockedbinding.lockedLogo.setImageDrawable(icon);
|
||||
}
|
||||
holder.lockedbinding.lockedLocked.setBackgroundResource(R.drawable.lock);
|
||||
holder.lockedbinding.lockedLocked.setSelected(true);
|
||||
holder.lockedbinding.lockedLocked.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (lockedapp){
|
||||
holder.lockedbinding.lockedLocked.setBackgroundResource(R.drawable.unlock);
|
||||
if (SoftWareLockApplication.userOption % 5 == 0){
|
||||
Mytool.showAd(mycon, new onActionCallback() {
|
||||
@Override
|
||||
public void onAction() {
|
||||
|
||||
holder.lockedbinding.lockedLocked.setSelected(!holder.lockedbinding.lockedLocked.isSelected());
|
||||
if (!holder.lockedbinding.lockedLocked.isSelected()) {
|
||||
lockedapp = false;
|
||||
entityApp.setApplocked(false);
|
||||
Toast.makeText(mycon, mycon.getText(R.string.unlock_success), Toast.LENGTH_SHORT).show();
|
||||
} else {
|
||||
holder.lockedbinding.lockedLocked.setBackgroundResource(R.drawable.lock);
|
||||
lockedapp = true;
|
||||
entityApp.setApplocked(true);
|
||||
Toast.makeText(mycon, mycon.getText(R.string.lock_success), Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
// MsgDialog msgDialog = new MsgDialog(msg);
|
||||
// msgDialog.show(mycon.getSupportFragmentManager(), "");
|
||||
}
|
||||
});
|
||||
}else {
|
||||
holder.lockedbinding.lockedLocked.setSelected(!holder.lockedbinding.lockedLocked.isSelected());
|
||||
if (!holder.lockedbinding.lockedLocked.isSelected()) {
|
||||
lockedapp = false;
|
||||
entityApp.setApplocked(false);
|
||||
Toast.makeText(mycon, mycon.getText(R.string.unlock_success), Toast.LENGTH_SHORT).show();
|
||||
} else {
|
||||
lockedapp = true;
|
||||
entityApp.setApplocked(true);
|
||||
Toast.makeText(mycon, mycon.getText(R.string.lock_success), Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
SoftWareLockRoom.RUNIO(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
AppDataBase.getDatabaseInstance().getAppEntityDao().updateData(entityApp);
|
||||
}
|
||||
});
|
||||
|
||||
SoftWareLockApplication.userOption++;
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -79,9 +113,11 @@ public class LockedAdapter extends RecyclerView.Adapter<LockedAdapter.LockedVH>
|
||||
|
||||
public class LockedVH extends RecyclerView.ViewHolder {
|
||||
private LockedAppBinding lockedbinding;
|
||||
|
||||
public LockedVH(@NonNull LockedAppBinding itemView) {
|
||||
super(itemView.getRoot());
|
||||
lockedbinding = itemView;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.example.applock.lockadapter;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.SharedPreferences;
|
||||
@ -33,27 +34,36 @@ import com.example.applock.roombase.SoftWareLockRoom;
|
||||
import com.example.applock.value.Adcallback;
|
||||
import com.example.applock.value.MyAllValues;
|
||||
import com.example.applock.value.Mytool;
|
||||
import com.example.applock.value.onShowDialogCallback;
|
||||
import com.pgl.ssdk.S;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
public class SystemAdapter extends RecyclerView.Adapter<SystemAdapter.SystemVH> {
|
||||
private FragmentActivity mycon;
|
||||
private Activity mycon;
|
||||
public static SharedPreferences.Editor keyeditor;
|
||||
private List<ATInterstitial> ads;
|
||||
private List<AppEntity> mylist;
|
||||
private List<AppEntity> mylist = new ArrayList<>();
|
||||
private LockListener lockListener;
|
||||
private SoftWarePerssionDialog dialog;
|
||||
private boolean mLockList;
|
||||
private MsgDialog msgDialog;
|
||||
public SystemAdapter(FragmentActivity context, List<AppEntity> entities){
|
||||
|
||||
private onShowDialogCallback onShowDialogCallback;
|
||||
|
||||
public void setOnShowDialogCallback(onShowDialogCallback callback) {
|
||||
this.onShowDialogCallback = callback;
|
||||
}
|
||||
|
||||
public SystemAdapter(Activity context){
|
||||
mycon = context;
|
||||
mylist = entities;
|
||||
ads = SoftWareLockApplication.lodAd();
|
||||
}
|
||||
public void setLockListener(LockListener lockListener) {
|
||||
this.lockListener = lockListener;
|
||||
public void setData(List<AppEntity> entities) {
|
||||
mylist = entities;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
@NonNull
|
||||
@Override
|
||||
@ -71,6 +81,7 @@ public class SystemAdapter extends RecyclerView.Adapter<SystemAdapter.SystemVH>
|
||||
if (icon != null) {
|
||||
holder.appBinding.appLogo.setImageDrawable(icon);
|
||||
}
|
||||
|
||||
mLockList = entityApp.isApplocked();
|
||||
if (mLockList){
|
||||
holder.appBinding.appLocked.setSelected(true);
|
||||
@ -82,23 +93,20 @@ public class SystemAdapter extends RecyclerView.Adapter<SystemAdapter.SystemVH>
|
||||
public void onClick(View v) {
|
||||
if (SoftLockPermission.allAllowPermission(mycon)){
|
||||
holder.appBinding.appLocked.setSelected(!holder.appBinding.appLocked.isSelected());
|
||||
|
||||
if ( SoftWareLockApplication.userOption % 5 == 0) {
|
||||
ATInterstitial mInterstitialAd = Mytool.onCache(ads);
|
||||
if (mInterstitialAd == null) {
|
||||
Log.d("dhn111","-----mInterstitialAd=null---------------");
|
||||
onAction(entityApp, holder.appBinding.appLocked,true);
|
||||
// TODO: 2024/8/16
|
||||
} else {
|
||||
Mytool.setCallback(mInterstitialAd, new Adcallback() {
|
||||
@Override
|
||||
public void onShowFail(AdError ad) {
|
||||
Log.d("dhn111","-----onShowFail---------------");
|
||||
|
||||
onAction(entityApp, holder.appBinding.appLocked,true);
|
||||
}
|
||||
@Override
|
||||
public void onAdHidden() {
|
||||
Log.d("dhn111","-----onAdHidden---------------");
|
||||
onAction(entityApp, holder.appBinding.appLocked,true);
|
||||
}
|
||||
});
|
||||
@ -106,7 +114,6 @@ public class SystemAdapter extends RecyclerView.Adapter<SystemAdapter.SystemVH>
|
||||
}
|
||||
|
||||
} else {
|
||||
Log.d("dhn111","-----不显示广告---------------");
|
||||
onAction(entityApp, holder.appBinding.appLocked,false);
|
||||
}
|
||||
SoftWareLockApplication.userOption++;
|
||||
@ -117,28 +124,31 @@ public class SystemAdapter extends RecyclerView.Adapter<SystemAdapter.SystemVH>
|
||||
});
|
||||
}
|
||||
|
||||
private void onAction(AppEntity entity,ImageView imageView,boolean showDailog){
|
||||
private void onAction(AppEntity tmpEntity,ImageView imageView,boolean showDailog){
|
||||
|
||||
String msg = "";
|
||||
boolean selected = imageView.isSelected();
|
||||
if (!selected) {
|
||||
entity.setApplocked(false);
|
||||
msg = entity.getApplabel() + "unlocked success";
|
||||
tmpEntity.setApplocked(false);
|
||||
msg = tmpEntity.getApplabel() + " unlocked success";
|
||||
} else {
|
||||
entity.setApplocked(true);
|
||||
msg = entity.getApplabel() + "locked success";
|
||||
tmpEntity.setApplocked(true);
|
||||
msg = tmpEntity.getApplabel() + " locked success";
|
||||
}
|
||||
if(showDailog){
|
||||
msgDialog = new MsgDialog(msg);
|
||||
msgDialog.show(mycon.getSupportFragmentManager(), "");
|
||||
|
||||
}
|
||||
|
||||
SoftWareLockRoom.RUNIO(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
AppDataBase.getDatabaseInstance().getAppEntityDao().updateData(entity);
|
||||
AppDataBase.getDatabaseInstance().getAppEntityDao().updateData(tmpEntity);
|
||||
Log.d(SoftWareLockApplication.TAG,"-----updateData---------------");
|
||||
}
|
||||
});
|
||||
if(showDailog){
|
||||
if(onShowDialogCallback!= null){
|
||||
onShowDialogCallback.onShowDialog(msg);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
private void getDialogsuccess() {
|
||||
@ -147,10 +157,9 @@ public class SystemAdapter extends RecyclerView.Adapter<SystemAdapter.SystemVH>
|
||||
if (isSelect && isEnable) {
|
||||
//goApply();
|
||||
} else {
|
||||
if (dialog == null) {
|
||||
dialog = new SoftWarePerssionDialog(mycon);
|
||||
if(onShowDialogCallback!= null){
|
||||
onShowDialogCallback.onShowStepDialog();
|
||||
}
|
||||
dialog.show(mycon.getSupportFragmentManager(), "");
|
||||
}
|
||||
}
|
||||
@Override
|
||||
|
||||
@ -76,22 +76,22 @@ public class ThirdAdapter extends RecyclerView.Adapter<ThirdAdapter.ThirdVH> {
|
||||
if (SoftLockPermission.allAllowPermission(mycon)){
|
||||
holder.appBinding.appLocked.setSelected(!holder.appBinding.appLocked.isSelected());
|
||||
|
||||
if (SoftWareLockApplication.userOption2 % 5 == 0) {
|
||||
if (SoftWareLockApplication.userOption % 5 == 0) {
|
||||
ATInterstitial mInterstitialAd = Mytool.onCache(ads);
|
||||
if (mInterstitialAd == null) {
|
||||
Log.d("dhn111","-----mInterstitialAd=null---------------");
|
||||
Log.d(SoftWareLockApplication.TAG,"-----mInterstitialAd=null---------------");
|
||||
onAction(entityApp, holder.appBinding.appLocked,true);
|
||||
// TODO: 2024/8/16
|
||||
} else {
|
||||
Mytool.setCallback(mInterstitialAd, new Adcallback() {
|
||||
@Override
|
||||
public void onShowFail(AdError ad) {
|
||||
Log.d("dhn111","-----onShowFail---------------");
|
||||
Log.d(SoftWareLockApplication.TAG,"-----onShowFail---------------");
|
||||
onAction(entityApp, holder.appBinding.appLocked,true);
|
||||
}
|
||||
@Override
|
||||
public void onAdHidden() {
|
||||
Log.d("dhn111","-----onAdHidden---------------");
|
||||
Log.d(SoftWareLockApplication.TAG,"-----onAdHidden---------------");
|
||||
onAction(entityApp, holder.appBinding.appLocked,true);
|
||||
}
|
||||
});
|
||||
@ -99,10 +99,10 @@ public class ThirdAdapter extends RecyclerView.Adapter<ThirdAdapter.ThirdVH> {
|
||||
}
|
||||
|
||||
} else {
|
||||
Log.d("dhn111","-----不显示广告---------------");
|
||||
Log.d(SoftWareLockApplication.TAG,"-----不显示广告---------------");
|
||||
onAction(entityApp, holder.appBinding.appLocked,false);
|
||||
}
|
||||
SoftWareLockApplication.userOption2++;
|
||||
SoftWareLockApplication.userOption++;
|
||||
}else {
|
||||
getDialogsuccess();
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.example.applock.roombase;
|
||||
|
||||
import androidx.lifecycle.LiveData;
|
||||
import androidx.room.Dao;
|
||||
import androidx.room.Insert;
|
||||
import androidx.room.OnConflictStrategy;
|
||||
@ -22,7 +23,11 @@ public interface AppEntityDao {
|
||||
void insertData(AppEntity entityApp);
|
||||
|
||||
@Query("select * from app_table_name where applocked=:isLock")
|
||||
List<AppEntity> queryApp(boolean isLock);
|
||||
LiveData<List<AppEntity>> queryApp(boolean isLock);
|
||||
|
||||
|
||||
@Query("select * from app_table_name where applocked=:isLock")
|
||||
List<AppEntity> queryLockApp(boolean isLock);
|
||||
@Query("select * from app_table_name where appfrom=:appfrom")
|
||||
List<AppEntity> queryApplfrom(boolean appfrom);
|
||||
}
|
||||
|
||||
@ -30,7 +30,7 @@ public class SoftWareLockRoom {
|
||||
getMyUIServicePool().execute(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
List<AppEntity> applist = AppDataBase.getDatabaseInstance().getAppEntityDao().queryApp(islock);
|
||||
List<AppEntity> applist = AppDataBase.getDatabaseInstance().getAppEntityDao().queryLockApp(islock);
|
||||
getMyHandler().post(()->{
|
||||
listener.QueryResult(applist);
|
||||
});
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.example.applock.value;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
|
||||
@ -96,7 +97,7 @@ public class Mytool {
|
||||
|
||||
}
|
||||
});
|
||||
// ad.load();
|
||||
ad.load();
|
||||
}
|
||||
}
|
||||
return adArrayList;
|
||||
@ -106,4 +107,26 @@ public class Mytool {
|
||||
ATInterstitial ad = new ATInterstitial(context, adUnitId);
|
||||
return ad;
|
||||
}
|
||||
|
||||
|
||||
public static void showAd(Activity activity,onActionCallback callback) {
|
||||
ATInterstitial mInterstitialAd = Mytool.onCache(adArrayList);
|
||||
if (mInterstitialAd == null) {
|
||||
callback.onAction();
|
||||
} else {
|
||||
Mytool.setCallback(mInterstitialAd, new Adcallback() {
|
||||
@Override
|
||||
public void onShowFail(AdError ad) {
|
||||
callback.onAction();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAdHidden() {
|
||||
callback.onAction();
|
||||
}
|
||||
});
|
||||
mInterstitialAd.show(activity);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,11 @@
|
||||
package com.example.applock.value;
|
||||
|
||||
|
||||
import com.anythink.core.api.AdError;
|
||||
|
||||
public interface onActionCallback {
|
||||
|
||||
void onAction( );
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
package com.example.applock.value;
|
||||
|
||||
|
||||
public interface onShowDialogCallback {
|
||||
|
||||
void onShowDialog(String msg);
|
||||
|
||||
void onShowStepDialog();
|
||||
}
|
||||
9
app/src/main/res/drawable/back_black.xml
Normal file
9
app/src/main/res/drawable/back_black.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="64dp"
|
||||
android:height="64dp"
|
||||
android:viewportWidth="1024"
|
||||
android:viewportHeight="1024">
|
||||
<path
|
||||
android:pathData="M395.2,513.6l323.1,-312.4c19.1,-18.4 19.1,-48.3 0,-66.7 -19.1,-18.4 -49.9,-18.4 -69,0L291.8,480.3c-19.1,18.4 -19.1,48.3 0,66.7l357.6,345.7c9.5,9.2 22,13.8 34.5,13.8 12.5,0 25,-4.6 34.5,-13.8 19.1,-18.4 19.1,-48.2 0,-66.7L395.2,513.6z"
|
||||
android:fillColor="@color/black00"/>
|
||||
</vector>
|
||||
27
app/src/main/res/drawable/icon_delete.xml
Normal file
27
app/src/main/res/drawable/icon_delete.xml
Normal file
@ -0,0 +1,27 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="25dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="25"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M8.42,5C7.836,5 7.281,5.255 6.901,5.698L2.616,10.698C1.974,11.447 1.974,12.553 2.616,13.302L6.901,18.302C7.281,18.745 7.836,19 8.42,19L19.5,19C20.605,19 21.5,18.105 21.5,17L21.5,7C21.5,5.895 20.605,5 19.5,5L8.42,5Z"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="2"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#4584FF"
|
||||
android:strokeLineCap="round"/>
|
||||
<path
|
||||
android:pathData="M15.5,10L11.5,14"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="2"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#4584FF"
|
||||
android:strokeLineCap="round"/>
|
||||
<path
|
||||
android:pathData="M11.5,10L15.5,14"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="2"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#4584FF"
|
||||
android:strokeLineCap="round"/>
|
||||
</vector>
|
||||
12
app/src/main/res/drawable/icon_step1.xml
Normal file
12
app/src/main/res/drawable/icon_step1.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="32dp"
|
||||
android:height="33dp"
|
||||
android:viewportWidth="32"
|
||||
android:viewportHeight="33">
|
||||
<path
|
||||
android:pathData="M16,0.5L16,0.5A16,16 0,0 1,32 16.5L32,16.5A16,16 0,0 1,16 32.5L16,32.5A16,16 0,0 1,0 16.5L0,16.5A16,16 0,0 1,16 0.5z"
|
||||
android:fillColor="#ffffff"/>
|
||||
<path
|
||||
android:pathData="M15.504,6.585L8.504,10.585C7.832,10.969 7.832,11.951 8.504,12.335C9.379,12.835 14.629,15.835 15.504,16.335C15.811,16.511 16.196,16.511 16.504,16.335L23.504,12.335C24.176,11.951 24.176,10.969 23.504,10.585L16.504,6.585C16.197,6.409 15.812,6.409 15.504,6.585ZM16.004,8.616L20.973,11.46L16.004,14.304C14.972,13.714 12.718,12.422 11.035,11.46L16.004,8.616ZM8.754,15.491C8.507,15.559 8.266,15.72 8.129,15.96C7.855,16.439 8.025,17.061 8.504,17.335L15.504,21.335C15.811,21.511 16.196,21.511 16.504,21.335L23.504,17.335C23.984,17.061 24.153,16.439 23.879,15.96C23.605,15.48 22.984,15.311 22.504,15.585L16.004,19.304L9.504,15.585C9.264,15.448 9.001,15.424 8.754,15.491ZM8.754,20.491C8.507,20.559 8.266,20.72 8.129,20.96C7.855,21.439 8.025,22.061 8.504,22.335L15.504,26.335C15.811,26.511 16.196,26.511 16.504,26.335L23.504,22.335C23.984,22.061 24.153,21.439 23.879,20.96C23.605,20.48 22.984,20.311 22.504,20.585L16.004,24.304L9.504,20.585C9.264,20.448 9.001,20.424 8.754,20.491Z"
|
||||
android:fillColor="#2A343D"/>
|
||||
</vector>
|
||||
12
app/src/main/res/drawable/icon_step2.xml
Normal file
12
app/src/main/res/drawable/icon_step2.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="32dp"
|
||||
android:height="33dp"
|
||||
android:viewportWidth="32"
|
||||
android:viewportHeight="33">
|
||||
<path
|
||||
android:pathData="M16,0.5L16,0.5A16,16 0,0 1,32 16.5L32,16.5A16,16 0,0 1,16 32.5L16,32.5A16,16 0,0 1,0 16.5L0,16.5A16,16 0,0 1,16 0.5z"
|
||||
android:fillColor="#ffffff"/>
|
||||
<path
|
||||
android:pathData="M15.623,6.534C14.744,6.909 9.47,9.16 8.592,9.535C8.223,9.692 7.998,10.04 7.998,10.441C7.998,14.821 8.173,16.781 8.967,19.038C10.006,21.993 12.046,24.348 15.498,26.321C15.805,26.497 16.191,26.497 16.498,26.321C19.981,24.33 22.03,21.983 23.06,19.038C23.844,16.797 23.998,14.933 23.998,10.441C23.998,10.042 23.771,9.693 23.404,9.535L16.436,6.534C16.184,6.426 15.875,6.426 15.623,6.534ZM15.998,8.503L21.994,11.106C22.081,18.281 20.675,21.426 16.007,24.287C11.218,21.308 9.946,18.129 9.995,11.114C11.358,10.532 14.845,8.995 15.998,8.503Z"
|
||||
android:fillColor="#2A343D"/>
|
||||
</vector>
|
||||
17
app/src/main/res/drawable/menu.xml
Normal file
17
app/src/main/res/drawable/menu.xml
Normal file
@ -0,0 +1,17 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="25dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="25">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M0,0.5h24v24h-24z"/>
|
||||
<path
|
||||
android:pathData="M3,6.5H21M3,12.5H21M3,18.5H21"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="2"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#3A3938"
|
||||
android:strokeLineCap="round"/>
|
||||
</group>
|
||||
</vector>
|
||||
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_selected="true" android:drawable="@drawable/lock"/>
|
||||
<item android:drawable="@drawable/unlock"/>
|
||||
<item android:state_selected="false" android:drawable="@drawable/unlock"/>
|
||||
|
||||
</selector>
|
||||
7
app/src/main/res/drawable/step_bg.xml
Normal file
7
app/src/main/res/drawable/step_bg.xml
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners android:radius="24dp"/>
|
||||
<solid android:color="@color/dialog_bg"/>
|
||||
|
||||
</shape>
|
||||
@ -8,8 +8,8 @@
|
||||
tools:context=".activity.IntoActivity">
|
||||
<ImageView
|
||||
android:id="@+id/lock_logo"
|
||||
android:layout_width="150dp"
|
||||
android:layout_height="150dp"
|
||||
android:layout_width="120dp"
|
||||
android:layout_height="120dp"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginTop="200dp"
|
||||
android:src="@mipmap/intologo"/>
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
android:layout_height="30dp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerVertical="true"
|
||||
app:srcCompat="@mipmap/setting" />
|
||||
app:srcCompat="@drawable/menu" />
|
||||
</RelativeLayout>
|
||||
<RelativeLayout
|
||||
android:id="@+id/search_layout"
|
||||
@ -74,6 +74,7 @@
|
||||
<com.google.android.material.tabs.TabLayout
|
||||
android:id="@+id/main_tablelayout"
|
||||
android:layout_width="340dp"
|
||||
app:tabIndicatorHeight="0dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
app:tabSelectedTextColor="@color/white"
|
||||
app:tabIndicatorColor="@color/white"
|
||||
|
||||
42
app/src/main/res/layout/activity_privacy.xml
Normal file
42
app/src/main/res/layout/activity_privacy.xml
Normal file
@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.core.widget.NestedScrollView 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:background="@color/white"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/back"
|
||||
android:layout_width="44dp"
|
||||
android:layout_height="44dp"
|
||||
android:layout_marginStart="12dp"
|
||||
android:padding="10dp"
|
||||
android:src="@drawable/back_black" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="44dp"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:padding="10dp"
|
||||
android:text="@string/app_privacy"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<WebView
|
||||
android:id="@+id/webView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/back"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="15sp"
|
||||
tools:ignore="WebViewLayout" />
|
||||
</RelativeLayout>
|
||||
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
@ -8,7 +8,7 @@
|
||||
tools:context=".activity.SettingActivity">
|
||||
<RelativeLayout
|
||||
android:id="@+id/setting_top"
|
||||
android:layout_width="343dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_height="wrap_content">
|
||||
@ -16,6 +16,8 @@
|
||||
android:id="@+id/setting_back"
|
||||
android:layout_width="43dp"
|
||||
android:layout_height="43dp"
|
||||
android:padding="8dp"
|
||||
android:layout_marginStart="25dp"
|
||||
android:src="@drawable/image_back"
|
||||
android:layout_marginTop="10dp"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
@ -23,11 +25,9 @@
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
<TextView
|
||||
android:id="@+id/setting_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="43dp"
|
||||
android:layout_toRightOf="@+id/setting_back"
|
||||
android:layout_centerVertical="true"
|
||||
android:gravity="center"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:textSize="25sp"
|
||||
android:textStyle="bold"
|
||||
android:text="@string/setting"
|
||||
@ -54,8 +54,8 @@
|
||||
android:text="@string/change_password"
|
||||
android:textSize="17sp" />
|
||||
<ImageView
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:background="@drawable/go_reset"
|
||||
android:layout_alignParentEnd="true"/>
|
||||
</RelativeLayout>
|
||||
@ -74,8 +74,8 @@
|
||||
android:text="@string/app_share"
|
||||
android:textSize="17sp" />
|
||||
<ImageView
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:background="@drawable/go_reset"
|
||||
android:layout_alignParentEnd="true"/>
|
||||
</RelativeLayout>
|
||||
@ -94,8 +94,8 @@
|
||||
android:text="@string/app_rate"
|
||||
android:textSize="17sp" />
|
||||
<ImageView
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:background="@drawable/go_reset"
|
||||
android:layout_alignParentEnd="true"/>
|
||||
</RelativeLayout>
|
||||
@ -114,8 +114,8 @@
|
||||
android:text="@string/Privacy_Policy"
|
||||
android:textSize="17sp" />
|
||||
<ImageView
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:background="@drawable/go_reset"
|
||||
android:layout_alignParentEnd="true"/>
|
||||
</RelativeLayout>
|
||||
|
||||
@ -21,6 +21,6 @@
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_gravity="center"
|
||||
android:src="@mipmap/delete_key" />
|
||||
android:src="@drawable/icon_delete" />
|
||||
|
||||
</LinearLayout>
|
||||
@ -2,64 +2,69 @@
|
||||
<androidx.cardview.widget.CardView 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="328dp"
|
||||
app:cardCornerRadius="24dp"
|
||||
android:layout_width="368dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
tools:context=".activity.MainActivity"
|
||||
android:background="@color/dialog_bg"
|
||||
android:layout_height="wrap_content">
|
||||
app:cardCornerRadius="24dp"
|
||||
tools:context=".activity.MainActivity">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="20dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title1"
|
||||
android:layout_width="230dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="24dp"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginTop="24dp"
|
||||
android:text="@string/permission_required"
|
||||
android:textColor="@color/black"
|
||||
android:textStyle="bold"
|
||||
android:textSize="20sp" />
|
||||
android:textSize="20sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title2"
|
||||
android:layout_width="230dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/title1"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:gravity="center"
|
||||
android:text="@string/permission_text"
|
||||
android:textStyle="bold"
|
||||
android:textSize="20sp"
|
||||
android:layout_centerHorizontal="true"/>
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_below="@+id/title2"
|
||||
android:layout_marginTop="30dp"
|
||||
app:cardCornerRadius="24dp">
|
||||
android:textStyle="bold" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/dialog_bg"
|
||||
android:paddingRight="16dp"
|
||||
android:layout_below="@+id/title2"
|
||||
android:layout_marginTop="30dp"
|
||||
android:background="@drawable/step_bg"
|
||||
android:orientation="vertical"
|
||||
android:paddingLeft="16dp"
|
||||
android:orientation="vertical">
|
||||
android:paddingRight="16dp">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/bottom"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginTop="20dp">
|
||||
android:layout_marginTop="20dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:src="@mipmap/detect"
|
||||
android:layout_gravity="center"/>
|
||||
android:layout_gravity="center"
|
||||
android:src="@drawable/icon_step2" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
>
|
||||
android:layout_marginStart="10dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_overlay_title"
|
||||
android:layout_width="wrap_content"
|
||||
@ -68,40 +73,48 @@
|
||||
android:textColor="@color/black"
|
||||
|
||||
android:textSize="20sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:text="@string/detect_detail" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_usage_button"
|
||||
android:layout_width="150dp"
|
||||
android:layout_height="40dp"
|
||||
android:paddingStart="8dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="10dp"
|
||||
android:paddingEnd="8dp"
|
||||
android:gravity="center"
|
||||
android:textSize="16dp"
|
||||
android:background="@drawable/selector_permssion"
|
||||
android:text="@string/permit" />
|
||||
android:gravity="center"
|
||||
android:paddingStart="8dp"
|
||||
android:paddingEnd="8dp"
|
||||
android:text="@string/permit"
|
||||
android:textSize="16dp" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/top"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:layout_marginTop="20dp">
|
||||
android:orientation="horizontal">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:src="@mipmap/show"
|
||||
android:layout_gravity="center"/>
|
||||
android:layout_gravity="center"
|
||||
android:src="@drawable/icon_step1" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="10dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_usage_title"
|
||||
android:layout_width="wrap_content"
|
||||
@ -110,25 +123,28 @@
|
||||
android:text="@string/show"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="20sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:text="@string/show_detail" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_overlay_button"
|
||||
android:layout_width="150dp"
|
||||
android:layout_height="40dp"
|
||||
android:paddingStart="8dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="10dp"
|
||||
android:paddingEnd="8dp"
|
||||
android:background="@drawable/selector_permssion"
|
||||
android:gravity="center"
|
||||
android:paddingStart="8dp"
|
||||
android:paddingEnd="8dp"
|
||||
android:text="@string/permit"
|
||||
android:textSize="16dp" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
</RelativeLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
@ -34,7 +34,7 @@
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:focusableInTouchMode="false"
|
||||
android:background="@drawable/unlock" />
|
||||
android:src="@drawable/selector_app_lock" />
|
||||
</RelativeLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 524 B |
Binary file not shown.
|
Before Width: | Height: | Size: 624 B |
Binary file not shown.
|
Before Width: | Height: | Size: 196 B |
Binary file not shown.
|
Before Width: | Height: | Size: 546 B |
@ -10,4 +10,5 @@
|
||||
<color name="edit_text_bg">#F5F5F5</color>
|
||||
<color name="table_unselect">#C4D8FF</color>
|
||||
<color name="table_bg">#4584FF</color>
|
||||
<color name="black00">#000000</color>
|
||||
</resources>
|
||||
@ -41,4 +41,5 @@
|
||||
<string name="third_text">Third</string>
|
||||
<string name="lock_success">Lock Successful</string>
|
||||
<string name="unlock_success">Unlock Successful</string>
|
||||
<string name="app_privacy">Privacy Policy</string>
|
||||
</resources>
|
||||
6
keystore.properties
Normal file
6
keystore.properties
Normal file
@ -0,0 +1,6 @@
|
||||
package_name=com.soft.ware.lock.hd
|
||||
app_name=SoftWare Lock
|
||||
keystoreFile=app/SoftWare Lock.jks
|
||||
key_alias=SoftWare Lockkey0
|
||||
key_store_password=SoftWare Lock
|
||||
key_password=SoftWare Lock
|
||||
Loading…
Reference in New Issue
Block a user