+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(sys-lock C)
-
-SET(INSTALL_EXEC_PREFIX "${INSTALL_PREFIX}/bin")
-SET(INSTALL_RESDIR "${INSTALL_PREFIX}/res")
-SET(INSTALL_IMAGEDIR "${INSTALL_RESDIR}/images")
-SET(EDJEDIR "${INSTALL_RESDIR}/edje")
-SET(CMAKE_VERBOSE_MAKEFILE 0)
-
-SET(PROJECT_ROOT_DIR "${CMAKE_SOURCE_DIR}/..")
-SET(PROJECT_RESOURCES_DIR "${PROJECT_ROOT_DIR}/res")
-SET(PROJECT_EDC_DIR "${PROJECT_RESOURCES_DIR}/edje")
-SET(PROJECT_IMAGES_DIR "${PROJECT_RESOURCES_DIR}/images")
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(MENU_PKGS REQUIRED
- dlog
- bundle
- elementary
- capi-appfw-application
- capi-appfw-app-manager
- capi-ui-efl-util
- feedback
- capi-base-utils-i18n
- vconf
- auth-fw
- dpm
- gio-2.0
- capi-ui-efl-util
- edbus
-)
-
-FOREACH (flag ${MENU_PKGS_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Winline -g -fno-builtin-malloc -fPIE")
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
-SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
-
-INCLUDE_DIRECTORIES(${PROJECT_ROOT_DIR}/inc)
-
-ADD_EXECUTABLE(${PROJECT_NAME}
- ${PROJECT_ROOT_DIR}/src/sys_lock.c
-)
-
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -lm)
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${MENU_PKGS_LDFLAGS})
-
-# Install
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${INSTALL_EXEC_PREFIX})
-
-INSTALL(FILES ${PROJECT_ROOT_DIR}/tizen-manifest.xml DESTINATION ${SYS_PACKAGES_DIR} RENAME org.tizen.sys-lock.xml)
-INSTALL(DIRECTORY DESTINATION ${PREFIX}/data)
-INSTALL(FILES ${PROJECT_ROOT_DIR}/shared/res/icon.png DESTINATION ${SYS_ICONS_DIR})
-
-# End of a file
-ADD_SUBDIRECTORY(res)
+++ /dev/null
-ADD_SUBDIRECTORY(edje)
-ADD_SUBDIRECTORY(images)
-
+++ /dev/null
-ADD_CUSTOM_TARGET(main.edj
- COMMAND edje_cc -id ${PROJECT_EDC_DIR}/images
- ${PROJECT_EDC_DIR}/main.edc main.edj
- DEPENDS ${PROJECT_EDC_DIR}/main.edc
-)
-ADD_DEPENDENCIES(${PROJECT_NAME} main.edj)
-INSTALL(FILES main.edj DESTINATION ${EDJEDIR})
+++ /dev/null
-INSTALL(FILES ${PROJECT_IMAGES_DIR}/Home_default.jpg DESTINATION ${INSTALL_IMAGEDIR})
-
+++ /dev/null
-Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
+++ /dev/null
-/*
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __LOG_H__
-#define __LOG_H__
-
-#include <dlog.h>
-#include <app_i18n.h>
-
-/**
- * @addtogroup Utils
- * @{
- */
-
-#ifdef LOG_TAG
- #undef LOG_TAG
-#endif
-
-#define LOG_TAG "SYSLOCK"
-
-#define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)
-
-#if !defined(DBG)
-#define DBG(fmt, arg...) dlog_print(DLOG_DEBUG, LOG_TAG, "%s: %s[%d]\t " #fmt "\n", __FILENAME__, __func__, __LINE__, ##arg)
-#endif
-
-#if !defined(WRN)
-#define WRN(fmt, arg...) dlog_print(DLOG_WARN, LOG_TAG, "%s: %s[%d]\t " #fmt "\n", __FILENAME__, __func__, __LINE__, ##arg)
-#endif
-
-#if !defined(ERR)
-#define ERR(fmt, arg...) dlog_print(DLOG_ERROR, LOG_TAG, "%s: %s[%d]\t " #fmt "\n", __FILENAME__, __func__, __LINE__, ##arg)
-#endif
-
-#if !defined(INF)
-#define INF(fmt, arg...) dlog_print(DLOG_INFO, LOG_TAG, "%s: %s[%d]\t " #fmt "\n", __FILENAME__, __func__, __LINE__, ##arg)
-#endif
-
-#if !defined(FATAL)
-#define FAT(fmt, arg...) dlog_print(DLOG_FATAL, LOG_TAG, "%s: %s[%d]\t " #fmt "\n", __FILENAME__, __func__, __LINE__, ##arg);
-#endif
-
-#undef _
-#define _(str) i18n_get_text(str)
-
-/**
- * @}
- */
-
-#endif
+++ /dev/null
-/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _SYSLOCK_H_
-#define _SYSLOCK_H_
-
-#define EDJE_DIR "edje/"
-#define IMAGE_DIR "images/"
-
-#define SYS_LOCK_BUS_NAME "org.tizen.syslock"
-#define SYS_LOCK_OBJECT_PATH "/Org/Tizen/System/Syslock"
-#define SYS_LOCK_INTERFACE_UNLOCK SYS_LOCK_BUS_NAME".unlock"
-#define SYS_LOCK_INTERFACE_TERMINATE SYS_LOCK_BUS_NAME".terminate"
-#define SYS_LOCK_MEMBER_UNLOCK "unlock"
-#define SYS_LOCK_MEMBER_TERMINATE "terminate"
-
-/**
- * @defgroup Models Models
- */
-
-/**
- * @defgroup Views Views
- */
-
-/**
- * @defgroup Controllers Controllers
- */
-
-#define LOCK_EDJE_FILE EDJE_DIR"main.edj"
-
-#endif
+++ /dev/null
-<manifest>
- <request>
- <domain name="_" />
- </request>
-</manifest>
+++ /dev/null
-Name: org.tizen.sys-lock
-Summary: Sys-lock app
-Group: Applications/Core Applications
-Version: 0.0.1
-Release: 1
-License: Apache-2.0
-Source0: %{name}-%{version}.tar.gz
-
-%if "%{profile}" == "wearable"
-ExcludeArch: %{arm} %ix86 x86_64
-%endif
-
-%if "%{profile}" == "tv"
-ExcludeArch: %{arm} %ix86 x86_64
-%endif
-
-BuildRequires: cmake
-BuildRequires: edje-tools
-BuildRequires: gettext-tools
-BuildRequires: hash-signer
-BuildRequires: pkgconfig(bundle)
-BuildRequires: pkgconfig(capi-appfw-application)
-BuildRequires: pkgconfig(capi-appfw-app-manager)
-BuildRequires: pkgconfig(capi-ui-efl-util)
-BuildRequires: pkgconfig(dlog)
-BuildRequires: pkgconfig(elementary)
-BuildRequires: pkgconfig(feedback)
-BuildRequires: pkgconfig(libtzplatform-config)
-BuildRequires: pkgconfig(capi-base-utils-i18n)
-BuildRequires: pkgconfig(vconf)
-BuildRequires: pkgconfig(auth-fw)
-BuildRequires: pkgconfig(dpm)
-BuildRequires: pkgconfig(gio-2.0)
-BuildRequires: pkgconfig(capi-ui-efl-util)
-BuildRequires: pkgconfig(edbus)
-
-%description
-Syslock application for Tizen.
-
-%prep
-%setup -q
-
-%build
-
-%define _pkg_dir %{TZ_SYS_RO_APP}/%{name}
-%define _pkg_shared_dir %{_pkg_dir}/shared
-%define _pkg_data_dir %{_pkg_dir}/data
-%define _sys_icons_dir %{_pkg_shared_dir}/res
-%define _sys_packages_dir %{TZ_SYS_RO_PACKAGES}
-%define _sys_license_dir %{TZ_SYS_SHARE}/license
-
-%if 0%{?tizen_build_binary_release_type_eng}
-export CFLAGS="$CFLAGS -DTIZEN_ENGINEER_MODE"
-export CXXFLAGS="$CXXFLAGS -DTIZEN_ENGINEER_MODE"
-export FFLAGS="$FFLAGS -DTIZEN_ENGINEER_MODE"
-%endif
-
-%ifarch %{arm}
-export CFLAGS="$CFLAGS -DTIZEN_BUILD_TARGET"
-export CXXFLAGS="$CXXFLAGS -DTIZEN_BUILD_TARGET"
-export FFLAGS="$FFLAGS -DTIZEN_BUILD_TARGET"
-%else
-export CFLAGS="$CFLAGS -DTIZEN_BUILD_EMULATOR"
-export CXXFLAGS="$CXXFLAGS -DTIZEN_BUILD_EMULATOR"
-export FFLAGS="$FFLAGS -DTIZEN_BUILD_EMULATOR"
-%endif
-
-
-cd CMake
-cmake . -DINSTALL_PREFIX=%{_pkg_dir} \
- -DSYS_ICONS_DIR=%{_sys_icons_dir} \
- -DSYS_PACKAGES_DIR=%{_sys_packages_dir}
-make %{?jobs:-j%jobs}
-cd -
-
-%install
-cd CMake
-%make_install
-cd -
-
-%define tizen_sign 1
-%define tizen_sign_base %{_pkg_dir}
-%define tizen_sign_level public
-%define tizen_author_sign 1
-%define tizen_dist_sign 1
-
-%post
-/sbin/ldconfig
-
-%postun -p /sbin/ldconfig
-
-%files
-%manifest org.tizen.sys-lock.manifest
-%defattr(-,root,root,-)
-%{_pkg_dir}/bin/sys-lock
-%{_pkg_dir}/res/images/*.jpg
-%{_pkg_dir}/res/edje/*.edj
-%{_sys_packages_dir}/org.tizen.sys-lock.xml
-%{_sys_icons_dir}/icon.png
-%{_pkg_dir}/author-signature.xml
-%{_pkg_dir}/signature1.xml
+++ /dev/null
-/*
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#define WIN_WIDTH 720
-#define WIN_HEIGHT 1280
-
-#define INDICATOR_HEIGHT 38
-
-collections {
- base_scale: 2.6;
-
-#include "password.edc"
- group {
- name: "lockscreen";
- parts {
- part {
- name: "sw.swipe_layout";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- }
- description {
- state: "hidden" 0.0;
- inherit: "default";
- visible: 0;
- }
- }
- part {
- name: "sw.password_layout";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- }
- }
- }
- }
- group {
- name: "lockscreen-bg";
- parts {
- part {
- name: "bg_clipper";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 255 255 255 255;
- }
- }
- part {
- name: "sw.bg";
- type: SWALLOW;
- clip_to: "bg_clipper";
- description {
- state: "default" 0.0;
- fixed: 1 1;
- }
- }
- }
- }
-}
+++ /dev/null
-styles {
- style {
- name: "password_style";
- base: "font=Tizen:style=Regular color=#FFFFFF font_size=50 wrap=none align=center";
- }
- style {
- name: "pass_title_style";
- base: "font=Tizen:style=Regular color=#FFFFFF font_size=40 wrap=none align=center";
- }
- style {
- name: "pass_subtitle_style";
- base: "font=Tizen:style=Regular color=#FFFFFF font_size=30 wrap=none align=center";
- }
- style {
- name: "close_style";
- base: "font=Tizen:style=Regular color=#FFFFFF font_size=35 wrap=none align=center";
- }
- style {
- name: "password_text_style";
- base: "font=Tizen:style=Regular color=#FFFFFF font_size=65 wrap=none align=center";
- }
-}
-
-group { "base";
- images {
- image: "ls_pin_dot.png" COMP;
- }
- parts {
- rect { "event"; scale;
- desc { "default";
- min: 240 148;
- max: 240 148;
- color: 0 0 0 0;
- }
- }
- }
-}
-
-group { "pin";
- images {
- image: "ls_pin_dot.png" COMP;
- }
- inherit: "base";
- parts {
- rect { "event"; scale;
- desc { "default";
- min: 240 148;
- max: 240 148;
- color: 0 0 0 0;
- }
- }
- image { "feedback"; scale;
- repeat;
- desc { "default";
- fixed: 1 1;
- aspect: 1.0 1.0;
- min: 128 128;
- max: 128 128;
- color: 0 0 0 0;
- visible: 0;
- rel1.to: "event";
- rel2.to: "event";
- image.normal: "ls_pin_dot.png";
- }
- desc { "press";
- inherit: "default" 0.0;
- color: 0 0 0 (0.3*255);
- visible: 1;
- }
- desc { "pressed";
- inherit: "default" 0.0;
- color: 0 0 0 (0.3*255);
- min: 256 256;
- max: 256 256;
- visible: 1;
- }
- }
- text { "text.number"; scale;
- effect: FAR_SOFT_SHADOW;
- repeat;
- desc { "default";
- color: 255 255 255 255;
- color2: 128 128 128 50;
- color3: 128 128 128 25;
- text {
- size: 72;
- font: "Sans";
- align: 0.5 0.5;
- }
- }
- }
- text { "text.letters"; scale;
- repeat;
- effect: FAR_SOFT_SHADOW;
- desc { "default";
- rel1.relative: 0.0 1.0; rel1.to: "text.number";
- rel1.offset: 0 -15;
- color: 255 255 255 255;
- color2: 128 128 128 50;
- color3: 128 128 128 25;
- text {
- size: 29;
- font: "Sans";
- align: 0.5 1.0;
- }
- }
- }
- }
- programs {
- program {
- signal: "mouse,down,1";
- source: "event";
- action: STATE_SET "press" 0.0;
- target: "feedback";
- after: "press,effect";
- }
- program {
- name: "press,effect";
- action: STATE_SET "pressed" 0.0;
- target: "feedback";
- transition: DECEL 0.2;
- }
- program {
- signal: "mouse,up,1";
- source: "event";
- action: STATE_SET "default" 0.0;
- target: "feedback";
- transition: DECEL 0.2;
- }
- program {
- signal: "mouse,clicked,1";
- source: "event";
- in: 0.1 0;
- action: SIGNAL_EMIT "button,clicked" "pinpaditem";
- }
- }
-}
-group { "clear";
- images {
- image: "ls_back_02_nor.png" COMP;
- image: "ls_back_02_press.png" COMP;
- }
- parts {
- rect { "event";
- desc { "default";
- color: 0 0 0 0;
- }
- }
- image { "button"; repeat;
- desc { "default";
- align: 0.5 0.5;
- image.normal: "ls_back_02_nor.png";
- }
- desc { "pressed";
- image.normal: "ls_back_02_press.png";
- }
- }
- }
- programs {
- program {
- signal: "mouse,down,1";
- source: "event";
- action: STATE_SET "pressed" 0.0;
- target: "button";
- }
- program {
- signal: "mouse,up,1";
- source: "event";
- action: STATE_SET "default" 0.0;
- target: "button";
- }
- program {
- signal: "mouse,clicked,1";
- source: "event";
- action: SIGNAL_EMIT "button,clicked" "pinpaditem";
- }
- }
-}
-
-group { "lock-base";
- parts {
- rect { "bg";
- desc { "default";
- rel1.relative: 0.0 0.0;
- rel2.relative: 1.0 1.0;
- color: 0 0 0 0;
- }
- }
- spacer { "padding.top"; scale;
- desc { "default";
- min: 0 199;
- max: -1 199;
- align: 0.5 0;
- fixed: 1 1;
- rel1 { relative: 0.0 0.0; to: "bg"; offset: 0 INDICATOR_HEIGHT; }
- rel2 { relative: 1.0 1.0; to: "bg"; }
- }
- }
- swallow { "sw.event"; scale;
- desc { "default";
- fixed: 1 1;
- align: 0.5 0.5;
- rel1 { relative: 0.0 0.0; to: "padding.top"; }
- rel2 { relative: 1.0 1.0; to: "padding.top"; }
- }
- }
- textblock { "text.title"; scale;
- effect: FAR_SOFT_SHADOW;
- desc { "default";
- fixed: 1 1;
- min: 0 54;
- max: -1 54;
- align: 0.5 0.0;
- rel1 { relative: 0.0 1.0; to: "padding.top"; }
- rel2 { relative: 1.0 1.0; to: "bg"; }
- text {
- style: "pass_title_style";
- elipsis: -1.0;
- }
- }
- }
- textblock { "text.subtitle"; scale;
- effect: FAR_SOFT_SHADOW;
- desc { "default";
- fixed: 1 1;
- min: 0 40;
- max: -1 40;
- align: 0.5 0.0;
- rel1 { relative: 0.0 1.0; to: "text.title"; }
- rel2 { relative: 1.0 1.0; to: "bg"; }
- text {
- style: "pass_subtitle_style";
- elipsis: -1.0;
- }
- }
- }
- spacer { "padding.title.entry"; scale;
- desc { "default";
- fixed: 1 1;
- min: 0 84;
- max: -1 84;
- align: 0.0 0.0;
- rel1 { relative: 0.0 1.0; to: "text.title"; }
- rel2 { relative: 1.0 1.0; to: "bg"; }
- }
- }
- textblock { "sw.entry";
- desc { "default";
- fixed: 1 1;
- min: 0 96;
- max: -1 96;
- align: 0.5 0;
- rel1 { relative: 0.0 1.0; to: "padding.title.entry"; offset: 0 9; }
- rel2 { relative: 1.0 1.0; to: "bg"; }
- text {
- style: "password_text_style";
- text: "_ _ _ _";
- }
- }
- }
- spacer { "padding.bottom"; scale;
- desc { "default";
- min: 0 134;
- max: -1 134;
- align: 0 1.0;
- rel1 { relative: 0.0 0.0; to: "bg"; }
- rel2 { relative: 1.0 1.0; to: "bg"; }
- }
- }
- swallow { "sw.cancel"; scale;
- desc { "default";
- align: 0.9 0.5;
- fixed: 1 1;
- min: 155 47;
- max: 155 47;
- rel1 { relative: 0.0 0.0; to: "padding.bottom"; }
- rel2 { relative: 1.0 1.0; to: "padding.bottom"; }
- }
- desc { "hidden";
- inherit: "default";
- visible: 0;
- }
- }
- program {
- signal: "btn,cancel,hide";
- source: "lockscreen";
- action: STATE_SET "hidden";
- target: "sw.cancel";
- }
- }
-}
-
-group { "lock-simple-password";
- inherit: "lock-base";
- parts {
- table {
- name: "pinpad";
- desc { "default";
- rel1.relative: 0.0 (WIN_HEIGHT-184-592)/WIN_HEIGHT;
- rel2.relative: 1.0 (WIN_HEIGHT-184)/WIN_HEIGHT;
- }
- table {
- items {
- #define ITEM(part_name, source_name, x, y) \
- item { \
- source: source_name; \
- name: part_name; \
- position: x y; \
- weight: 1.0 1.0; \
- span: 1 1; \
- align: -1.0 -1.0; \
- }
- ITEM("1", "pin", 1, 1);
- ITEM("2", "pin", 2, 1);
- ITEM("3", "pin" ,3, 1);
- ITEM("4", "pin", 1, 2);
- ITEM("5", "pin", 2, 2);
- ITEM("6", "pin", 3, 2);
- ITEM("7", "pin", 1, 3);
- ITEM("8", "pin", 2, 3);
- ITEM("9", "pin", 3, 3);
- ITEM("clear", "clear", 3, 4);
- ITEM("0", "pin", 2, 4);
- ITEM("accept", "base", 1, 4);
- }
- }
- }
-}
-}
+++ /dev/null
-/*
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <Evas.h>
-#include <Elementary.h>
-#include <Eina.h>
-#include <E_DBus.h>
-
-#include <app.h>
-
-#include "sys_lock.h"
-#include "log.h"
-
-/* This application, password and UI are just examples for lazy-mount process */
-
-#define STR_PASSWORD "0430"
-#define BUF_SIZE 10
-static bool isUnlocked;
-static char buf[BUF_SIZE];
-static int now;
-
-void _input_password(Evas_Object *ly, const char *txt)
-{
- char tmp[BUF_SIZE] = { 0, };
-
- if (now >= 4 || isUnlocked)
- return;
-
- snprintf(tmp, BUF_SIZE, "%s%s", buf, txt);
- strncpy(buf,tmp,BUF_SIZE);
- now++;
-
- if (!strcmp(STR_PASSWORD, buf)) {
- _dbus_send_sys_lock_unlock_signal();
- isUnlocked = true;
- _update_password_view(ly, 5);
- } else {
- _update_password_view(ly, now);
- }
-}
-
-void _clear_password(Evas_Object *ly)
-{
- if (now <= 0)
- return;
-
- now--;
- buf[now] = '\0';
-
- _update_password_view(ly, now);
-}
-
-void _clear_all_password(Evas_Object *ly)
-{
- memset(buf, 0, BUF_SIZE);
- now = 0;
-
- _update_password_view(ly, now);
-}
-
-void _update_password_view(Evas_Object *ly, int num)
-{
- if (num == 0)
- elm_object_part_text_set(ly, "sw.entry", "_ _ _ _");
- else if (num == 1)
- elm_object_part_text_set(ly, "sw.entry", "* _ _ _");
- else if (num == 2)
- elm_object_part_text_set(ly, "sw.entry", "* * _ _");
- else if (num == 3)
- elm_object_part_text_set(ly, "sw.entry", "* * * _");
- else if (num == 4)
- elm_object_part_text_set(ly, "sw.entry", "* * * *");
- else if (num == 5)
- elm_object_part_text_set(ly, "sw.entry", "= Password OK! =");
-}
-
-void _dbus_send_sys_lock_unlock_signal(void)
-{
- int ret = 0;
- E_DBus_Connection *conn;
- DBusMessage *msg;
-
- conn = e_dbus_bus_get(DBUS_BUS_SYSTEM);
- if (conn == NULL) {
- ERR("e_dbus_bus_get error");
- }
-
- msg = dbus_message_new_signal(SYS_LOCK_OBJECT_PATH, SYS_LOCK_INTERFACE_UNLOCK, SYS_LOCK_MEMBER_UNLOCK);
-
- dbus_message_append_args(msg, DBUS_TYPE_INT32, &ret, DBUS_TYPE_INVALID);
-
- e_dbus_message_send(conn, msg, NULL, -1, NULL);
- dbus_message_unref(msg);
-
- DBG("%s-%s", SYS_LOCK_INTERFACE_UNLOCK, SYS_LOCK_MEMBER_UNLOCK);
-}
-
-int _dbus_receive_lazy_mount_status(void (*changed_cb)(void *data, DBusMessage *msg), void *data)
-{
- E_DBus_Connection *conn;
- E_DBus_Signal_Handler *handler;
-
- conn = e_dbus_bus_get(DBUS_BUS_SYSTEM);
- if (conn == NULL) {
- ERR("e_dbus_bus_get error");
- return -1;
- }
-
- handler = e_dbus_signal_handler_add(conn, NULL, SYS_LOCK_OBJECT_PATH,
- SYS_LOCK_INTERFACE_TERMINATE, SYS_LOCK_MEMBER_TERMINATE,
- changed_cb, data);
- if (handler == NULL) {
- ERR("e_dbus_signal_handler_add error");
- return -1;
- }
-
- return 0;
-}
-
-static void _lazy_mount_status_changed_cb(void *data, DBusMessage *msg)
-{
- int is_unlock = 0;
-
- DBG("sys-lock signal is received %s : %s", dbus_message_get_interface(msg), dbus_message_get_member(msg));
-
- is_unlock = dbus_message_is_signal(msg, SYS_LOCK_INTERFACE_TERMINATE, SYS_LOCK_MEMBER_TERMINATE);
-
- if (is_unlock) {
- ui_app_exit();
- }
-}
-
-char *_get_resource_full_path(const char *file_path)
-{
- char *ret = NULL;
- char full_path[PATH_MAX] = { 0, };
- char *res_path = app_get_resource_path();
-
- if (res_path) {
- snprintf(full_path, sizeof(full_path) - 1, "%s%s", res_path, file_path);
-
- ret = strdup(full_path);
- free(res_path);
- }
-
- return ret;
-}
-
-Evas_Object *_window_create(void)
-{
- Evas_Object *win = elm_win_add(NULL, "FOTALOCK", ELM_WIN_BASIC);
- char *full_path = NULL;
-
- if (!win) return NULL;
-
- elm_win_borderless_set(win, EINA_TRUE);
- elm_win_autodel_set(win, EINA_TRUE);
- elm_win_fullscreen_set(win, EINA_TRUE);
-
- Evas_Object *ly = elm_layout_add(win);
-
- full_path = _get_resource_full_path("edje/main.edj");
- if (!elm_layout_file_set(ly, full_path, "lockscreen-bg"))
- ERR("elm_layout_file_set failed %s", full_path);
- free(full_path);
-
- evas_object_show(ly);
- elm_win_resize_object_add(win, ly);
-
- Evas_Object *bg = elm_image_add(win);
- elm_image_aspect_fixed_set(bg, EINA_TRUE);
- elm_image_fill_outside_set(bg, EINA_TRUE);
- evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(bg, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- full_path = _get_resource_full_path("images/Home_default.jpg");
- if (!elm_image_file_set(bg, full_path, NULL)) {
- ERR("elm_image_file_set failed %s", full_path);
- }
- free(full_path);
-
- evas_object_show(bg);
- elm_object_part_content_set(ly, "sw.bg", bg);
-
- evas_object_show(win);
-
- return win;
-}
-
-static Evas_Object *_conformant_create(Evas_Object *win)
-{
- Evas_Object *conformant = elm_conformant_add(win);
- evas_object_size_hint_weight_set(conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(conformant, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_win_resize_object_add(win, conformant);
-
- elm_object_signal_emit(conformant, "elm,state,indicator,overlap", "elm");
-
- evas_object_show(conformant);
- elm_win_conformant_set(win, EINA_TRUE);
-
- return conformant;
-}
-
-static void
-_pin_button_setup(Evas_Object *ly, int row, int col, const char *text, const char *subtext, Edje_Signal_Cb cb)
-{
- Evas_Object *edje = elm_layout_edje_get(ly);
- Evas_Object *child = edje_object_part_table_child_get(edje, "pinpad", col, row);
- edje_object_part_text_set(child, "text.number", text);
- edje_object_part_text_set(child, "text.letters", subtext);
- if (cb) edje_object_signal_callback_add(child, "button,clicked", "pinpaditem", cb, ly);
-}
-
-static void
-_cancel_button_clicked(void *data, Evas_Object *obj, void *event_info)
-{
- if (isUnlocked) return; //Disable key input after unlocked.
-
- _clear_all_password(data);
-}
-
-static void
-_pin_button_clicked(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- if (isUnlocked) return; //Disable key input after unlocked.
-
- const char *txt = edje_object_part_text_get(obj, "text.number");
- DBG("_pin_button_clicked!! [%s]", txt);
-
- _input_password(data, txt);
-}
-
-static void
-_clear_button_clicked(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- if (isUnlocked) return; //Disable key input after unlocked.
-
- _clear_password(data);
-}
-
-static Evas_Object *_view_create(Evas_Object *win)
-{
- char *full_path = NULL;
- Evas_Object *layout = elm_layout_add(win);
-
- full_path = _get_resource_full_path("edje/main.edj");
- if (!elm_layout_file_set(layout, full_path, "lock-simple-password")) {
- FAT("Failed to set edje file for main view.");
- return NULL;
- }
- free(full_path);
-
- Evas_Object *btn = elm_button_add(layout);
- if (!elm_object_style_set(btn, "panel"))
- ERR("elm_object_style_set failed");
- elm_object_text_set(btn, _("CANCEL"));
- evas_object_smart_callback_add(btn, "clicked", _cancel_button_clicked, layout);
-
- elm_object_part_content_set(layout, "sw.cancel", btn);
- evas_object_show(btn);
- evas_object_show(layout);
-
- // Setup PIN pad
- _pin_button_setup(layout, 1, 1, "1", NULL, _pin_button_clicked);
- _pin_button_setup(layout, 1, 2, "2", "ABC" , _pin_button_clicked);
- _pin_button_setup(layout, 1, 3, "3", "DEF" , _pin_button_clicked);
- _pin_button_setup(layout, 2, 1, "4", "GHI" , _pin_button_clicked);
- _pin_button_setup(layout, 2, 2, "5", "JKL" , _pin_button_clicked);
- _pin_button_setup(layout, 2, 3, "6", "MNO" , _pin_button_clicked);
- _pin_button_setup(layout, 3, 1, "7", "PQRS" , _pin_button_clicked);
- _pin_button_setup(layout, 3, 2, "8", "TUV" , _pin_button_clicked);
- _pin_button_setup(layout, 3, 3, "9", "WXYZ" , _pin_button_clicked);
- _pin_button_setup(layout, 4, 3, NULL, NULL, _clear_button_clicked);
- _pin_button_setup(layout, 4, 2, "0", NULL , _pin_button_clicked);
- _pin_button_setup(layout, 4, 1, NULL, NULL , NULL);
-
- elm_object_signal_emit(layout, "layout,pinpad,show", "lockscreen");
-
- return layout;
-}
-
-static bool _init(void)
-{
- DBG("_init");
-
- Evas_Object *win;
- Evas_Object *conformant;
- Evas_Object *view;
-
- win = _window_create();
- if (!win) {
- FAT("_window_create failed.");
- return false;
- }
-
- conformant = _conformant_create(win);
- if (!conformant) {
- FAT("_conformant_create failed.");
- return false;
- }
-
- view = _view_create(win);
- if (!view) {
- FAT("_view_create failed.");
- return false;
- }
-
- elm_object_part_content_set(conformant, NULL, view);
-
- e_dbus_init();
- _dbus_receive_lazy_mount_status(_lazy_mount_status_changed_cb, NULL);
-
- return true;
-}
-
-
-bool _create_app(void *data)
-{
- DBG("Syslock launch request.");
- elm_config_scale_set(2.6);
-
- DBG("base scale : %f", elm_app_base_scale_get());
- DBG("edje scale : %f", edje_scale_get());
-
- return _init();
-}
-
-void _terminate_app(void *data)
-{
- DBG("Syslock terminated request.");
-}
-
-void _resume_app(void *data)
-{
-}
-
-void _pause_app(void *data)
-{
-}
-
-EAPI int main(int argc, char *argv[])
-{
- int ret = 0;
-
- ui_app_lifecycle_callback_s lifecycle_callback = {0,};
-
- lifecycle_callback.create = _create_app;
- lifecycle_callback.terminate = _terminate_app;
- lifecycle_callback.resume = _resume_app;
- lifecycle_callback.pause = _pause_app;
-
- ret = ui_app_main(argc, argv, &lifecycle_callback, NULL);
- if (ret != APP_ERROR_NONE) {
- ERR("ui_app_main failed: %s", get_error_message(ret));
- }
-
- return ret;
-}
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<manifest xmlns="http://tizen.org/ns/packages" api-version="3.0" package="org.tizen.sys-lock" version="0.1.0">
- <profile name="mobile"/>
- <ui-application appid="org.tizen.sys-lock" exec="sys-lock" hw-acceleration="on" launch_mode="single" multiple="false" nodisplay="true" process-pool="true" taskmanage="false" type="capp">
- <label>sys-lock</label>
- <icon>icon.png</icon>
- </ui-application>
-</manifest>